BltByteStreamProvider.h

Go to the documentation of this file.
00001 /*****************************************************************
00002 |
00003 |   BlueTune - InputStreamProvider & OutputStreamProvider
00004 |
00005 |   (c) 2002-2006 Gilles Boccon-Gibod
00006 |   Author: Gilles Boccon-Gibod (bok@bok.net)
00007 |
00008  ****************************************************************/
00013 #ifndef _BLT_BYTE_STREAM_PROVIDER_H_
00014 #define _BLT_BYTE_STREAM_PROVIDER_H_
00015 
00016 /*----------------------------------------------------------------------
00017 |   includes
00018 +---------------------------------------------------------------------*/
00019 #include "Atomix.h"
00020 #include "BltTypes.h"
00021 #include "BltMedia.h"
00022 
00023 /*----------------------------------------------------------------------
00024 |   BLT_InputStreamProvider
00025 +---------------------------------------------------------------------*/
00026 ATX_DECLARE_INTERFACE(BLT_InputStreamProvider)
00027 ATX_BEGIN_INTERFACE_DEFINITION(BLT_InputStreamProvider)
00028     BLT_Result (*GetStream)(BLT_InputStreamProvider* self,
00029                             ATX_InputStream**        stream);
00030 ATX_END_INTERFACE_DEFINITION
00031 
00032 /*----------------------------------------------------------------------
00033 |   convenience macros
00034 +---------------------------------------------------------------------*/
00035 #define BLT_InputStreamProvider_GetStream(object, stream) \
00036 ATX_INTERFACE(object)->GetStream(object, stream)
00037 
00038 
00039 /*----------------------------------------------------------------------
00040 |   BLT_OutputStreamProvider
00041 +---------------------------------------------------------------------*/
00042 ATX_DECLARE_INTERFACE(BLT_OutputStreamProvider)
00043 ATX_BEGIN_INTERFACE_DEFINITION(BLT_OutputStreamProvider)
00044     BLT_Result (*GetStream)(BLT_OutputStreamProvider* instance,
00045                             ATX_OutputStream**        stream,
00046                             const BLT_MediaType*      media_type);
00047 ATX_END_INTERFACE_DEFINITION
00048 
00049 /*----------------------------------------------------------------------
00050 |   convenience macros
00051 +---------------------------------------------------------------------*/
00052 #define BLT_OutputStreamProvider_GetStream(object, stream, media_type) \
00053 ATX_INTERFACE(object)->GetStream(object, stream, media_type)
00054 
00055 #endif /* _BLT_BYTE_STREAM_PROVIDER_H_ */