BltMediaNode.h File Reference

BLT_MediaNode interface. More...

#include "Atomix.h"
#include "BltDefs.h"
#include "BltTypes.h"
#include "BltErrors.h"
#include "BltModule.h"
#include "BltMedia.h"
#include "BltCore.h"
#include "BltMediaPort.h"
#include "BltStream.h"

Go to the source code of this file.

Data Structures

struct  BLT_MediaNodeInfo
struct  BLT_MediaNodeSpec
struct  BLT_MediaNodeConstructor
struct  BLT_BaseMediaNode

Defines

#define BLT_ERROR_NO_SUCH_MEDIA_NODE   (BLT_ERROR_BASE_MEDIA_NODE - 0)
#define BLT_MediaNode_GetInfo(object, info)   ATX_INTERFACE(object)->GetInfo(object, info)
#define BLT_MediaNode_GetPortByName(object, name, port)   ATX_INTERFACE(object)->GetPortByName(object, name, port)
#define BLT_MediaNode_Activate(object, stream)   ATX_INTERFACE(object)->Activate(object, stream)
#define BLT_MediaNode_Deactivate(object)   ATX_INTERFACE(object)->Deactivate(object)
#define BLT_MediaNode_Start(object)   ATX_INTERFACE(object)->Start(object)
#define BLT_MediaNode_Stop(object)   ATX_INTERFACE(object)->Stop(object)
#define BLT_MediaNode_Pause(object)   ATX_INTERFACE(object)->Pause(object)
#define BLT_MediaNode_Resume(object)   ATX_INTERFACE(object)->Resume(object)
#define BLT_MediaNode_Seek(object, mode, point)   ATX_INTERFACE(object)->Seek(object, mode, point)
#define BLT_MODULE_IMPLEMENT_SIMPLE_MEDIA_NODE_FACTORY(_module_type, _class)

Enumerations

enum  BLT_MediaNodeState {
  BLT_MEDIA_NODE_STATE_RESET,
  BLT_MEDIA_NODE_STATE_IDLE,
  BLT_MEDIA_NODE_STATE_RUNNING,
  BLT_MEDIA_NODE_STATE_PAUSED
}

Functions

BLT_Result BLT_BaseMediaNode_Construct (BLT_BaseMediaNode *self, BLT_Module *module, BLT_Core *core)
BLT_Result BLT_BaseMediaNode_Destruct (BLT_BaseMediaNode *self)
BLT_Result BLT_BaseMediaNode_GetInfo (BLT_MediaNode *self, BLT_MediaNodeInfo *info)
BLT_Result BLT_BaseMediaNode_Activate (BLT_MediaNode *self, BLT_Stream *stream)
BLT_Result BLT_BaseMediaNode_Deactivate (BLT_MediaNode *self)
BLT_Result BLT_BaseMediaNode_Start (BLT_MediaNode *self)
BLT_Result BLT_BaseMediaNode_Stop (BLT_MediaNode *self)
BLT_Result BLT_BaseMediaNode_Pause (BLT_MediaNode *self)
BLT_Result BLT_BaseMediaNode_Resume (BLT_MediaNode *self)
BLT_Result BLT_BaseMediaNode_Seek (BLT_MediaNode *self, BLT_SeekMode *mode, BLT_SeekPoint *point)

Variables

BLT_Result(* GetInfo )(BLT_MediaNode *self, BLT_MediaNodeInfo *info)
BLT_Result(* GetPortByName )(BLT_MediaNode *self, BLT_CString name, BLT_MediaPort **port)
BLT_Result(* Activate )(BLT_MediaNode *self, BLT_Stream *stream)
BLT_Result(* Deactivate )(BLT_MediaNode *self)
BLT_Result(* Start )(BLT_MediaNode *self)
BLT_Result(* Stop )(BLT_MediaNode *self)
BLT_Result(* Pause )(BLT_MediaNode *self)
BLT_Result(* Resume )(BLT_MediaNode *self)
BLT_Result(* Seek )(BLT_MediaNode *self, BLT_SeekMode *mode, BLT_SeekPoint *point)


Detailed Description

BLT_MediaNode interface.


Define Documentation

#define BLT_MODULE_IMPLEMENT_SIMPLE_MEDIA_NODE_FACTORY ( _module_type,
_class   ) 

Value:

BLT_METHOD                                                              \
_module_type##_CreateInstance(BLT_Module*        self,                  \
                              BLT_Core*                core,            \
                              BLT_ModuleParametersType parameters_type, \
                              BLT_AnyConst             parameters,      \
                              const ATX_InterfaceId*   interface_id,    \
                              ATX_Object**             object)          \
{                                                                       \
    if (ATX_INTERFACE_IDS_EQUAL(interface_id,                           \
                                &ATX_INTERFACE_ID__BLT_MediaNode)) {    \
        return _class##_Create(self,                                    \
                               core,                                    \
                               parameters_type,                         \
                               parameters,                              \
                               (BLT_MediaNode**)object);                \
    } else {                                                            \
        return BLT_ERROR_INVALID_INTERFACE;                             \
    }                                                                   \
}                                                                       \