Commit 7151b1d6 authored by Olivier Aubert's avatar Olivier Aubert

mediacontrol:

 * prefix non-exported function names with private_ (as by Pierre d'Herbemont's suggestion)
 * move private functions definitions to src/control/mediacontrol_internal.h
 * move all structure definitions to include/vlc/mediacontrol_structure.h
parent 6f47f369
...@@ -45,92 +45,22 @@ extern "C" { ...@@ -45,92 +45,22 @@ extern "C" {
#include <vlc/mediacontrol_structures.h> #include <vlc/mediacontrol_structures.h>
/**
* RGBPicture structure
* This generic structure holds a picture in an encoding specified by type.
*/
typedef struct {
int width;
int height;
long type;
vlc_int64_t date;
int size;
char *data;
} mediacontrol_RGBPicture;
/**
* Playlist sequence
* A simple list of strings.
*/
typedef struct {
int size;
char **data;
} mediacontrol_PlaylistSeq;
typedef struct {
int code;
char *message;
} mediacontrol_Exception;
/**
* Exception codes
*/
#define mediacontrol_PositionKeyNotSupported 1
#define mediacontrol_PositionOriginNotSupported 2
#define mediacontrol_InvalidPosition 3
#define mediacontrol_PlaylistException 4
#define mediacontrol_InternalException 5
/** /**
* mediacontrol_Instance is an opaque structure, defined in * mediacontrol_Instance is an opaque structure, defined in
* mediacontrol_internal.h. API users do not have to mess with it. * mediacontrol_internal.h. API users do not have to mess with it.
*/ */
typedef struct mediacontrol_Instance mediacontrol_Instance; typedef struct mediacontrol_Instance mediacontrol_Instance;
/**
* Possible player status
*/
enum mediacontrol_PlayerStatusList
{
mediacontrol_PlayingStatus, mediacontrol_PauseStatus,
mediacontrol_ForwardStatus, mediacontrol_BackwardStatus,
mediacontrol_InitStatus, mediacontrol_EndStatus,
mediacontrol_UndefinedStatus
};
typedef enum mediacontrol_PlayerStatusList mediacontrol_PlayerStatus;
/**
* Stream information
* This structure allows to quickly get various informations about the stream.
*/
typedef struct {
mediacontrol_PlayerStatus streamstatus;
char *url; /* The URL of the current media stream */
vlc_int64_t position; /* actual location in the stream (in ms) */
vlc_int64_t length; /* total length of the stream (in ms) */
} mediacontrol_StreamInformation;
/************************************************************************** /**************************************************************************
* Helper functions * Helper functions
***************************************************************************/ ***************************************************************************/
/**
* Allocate a RGBPicture structure.
* \param datasize: the size of the data
*/
mediacontrol_RGBPicture *mediacontrol_RGBPicture__alloc( int datasize );
/** /**
* Free a RGBPicture structure. * Free a RGBPicture structure.
* \param pic: the RGBPicture structure * \param pic: the RGBPicture structure
*/ */
VLC_PUBLIC_API void mediacontrol_RGBPicture__free( mediacontrol_RGBPicture *pic ); VLC_PUBLIC_API void mediacontrol_RGBPicture__free( mediacontrol_RGBPicture *pic );
mediacontrol_RGBPicture *_mediacontrol_createRGBPicture( int, int, long, vlc_int64_t l_date,
char *, int);
mediacontrol_PlaylistSeq *mediacontrol_PlaylistSeq__alloc( int size );
VLC_PUBLIC_API void mediacontrol_PlaylistSeq__free( mediacontrol_PlaylistSeq *ps ); VLC_PUBLIC_API void mediacontrol_PlaylistSeq__free( mediacontrol_PlaylistSeq *ps );
/** /**
......
...@@ -58,6 +58,16 @@ typedef enum { ...@@ -58,6 +58,16 @@ typedef enum {
mediacontrol_MediaTime mediacontrol_MediaTime
} mediacontrol_PositionKey; } mediacontrol_PositionKey;
/**
* Possible player status
*/
typedef enum {
mediacontrol_PlayingStatus, mediacontrol_PauseStatus,
mediacontrol_ForwardStatus, mediacontrol_BackwardStatus,
mediacontrol_InitStatus, mediacontrol_EndStatus,
mediacontrol_UndefinedStatus
} mediacontrol_PlayerStatus;
/** /**
* MediaControl Position * MediaControl Position
*/ */
...@@ -67,6 +77,54 @@ typedef struct { ...@@ -67,6 +77,54 @@ typedef struct {
long value; long value;
} mediacontrol_Position; } mediacontrol_Position;
/**
* RGBPicture structure
* This generic structure holds a picture in an encoding specified by type.
*/
typedef struct {
int width;
int height;
long type;
vlc_int64_t date;
int size;
char *data;
} mediacontrol_RGBPicture;
/**
* Playlist sequence
* A simple list of strings.
*/
typedef struct {
int size;
char **data;
} mediacontrol_PlaylistSeq;
typedef struct {
int code;
char *message;
} mediacontrol_Exception;
/**
* Exception codes
*/
#define mediacontrol_PositionKeyNotSupported 1
#define mediacontrol_PositionOriginNotSupported 2
#define mediacontrol_InvalidPosition 3
#define mediacontrol_PlaylistException 4
#define mediacontrol_InternalException 5
/**
* Stream information
* This structure allows to quickly get various informations about the stream.
*/
typedef struct {
mediacontrol_PlayerStatus streamstatus;
char *url; /* The URL of the current media stream */
vlc_int64_t position; /* actual location in the stream (in ms) */
vlc_int64_t length; /* total length of the stream (in ms) */
} mediacontrol_StreamInformation;
# ifdef __cplusplus # ifdef __cplusplus
} }
# endif # endif
......
...@@ -88,12 +88,12 @@ mediacontrol_snapshot( mediacontrol_Instance *self, ...@@ -88,12 +88,12 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
if( p_snapshot ) if( p_snapshot )
{ {
p_pic = _mediacontrol_createRGBPicture( p_snapshot->i_width, p_pic = private_mediacontrol_createRGBPicture( p_snapshot->i_width,
p_snapshot->i_height, p_snapshot->i_height,
VLC_FOURCC( 'p','n','g',' ' ), VLC_FOURCC( 'p','n','g',' ' ),
p_snapshot->date, p_snapshot->date,
p_snapshot->p_data, p_snapshot->p_data,
p_snapshot->i_datasize ); p_snapshot->i_datasize );
if( !p_pic ) if( !p_pic )
{ {
free( p_snapshot->p_data ); free( p_snapshot->p_data );
......
...@@ -357,7 +357,7 @@ mediacontrol_playlist_get_list( mediacontrol_Instance *self, ...@@ -357,7 +357,7 @@ mediacontrol_playlist_get_list( mediacontrol_Instance *self,
vlc_mutex_lock( &p_playlist->object_lock ); vlc_mutex_lock( &p_playlist->object_lock );
i_playlist_size = p_playlist->current.i_size; i_playlist_size = p_playlist->current.i_size;
retval = mediacontrol_PlaylistSeq__alloc( i_playlist_size ); retval = private_mediacontrol_PlaylistSeq__alloc( i_playlist_size );
for( i_index = 0 ; i_index < i_playlist_size ; i_index++ ) for( i_index = 0 ; i_index < i_playlist_size ; i_index++ )
{ {
......
...@@ -46,6 +46,18 @@ vlc_int64_t mediacontrol_position2microsecond( ...@@ -46,6 +46,18 @@ vlc_int64_t mediacontrol_position2microsecond(
input_thread_t *p_input, input_thread_t *p_input,
const mediacontrol_Position *pos ); const mediacontrol_Position *pos );
/**
* Allocate a RGBPicture structure.
* \param datasize: the size of the data
*/
mediacontrol_RGBPicture *private_mediacontrol_RGBPicture__alloc( int datasize );
mediacontrol_RGBPicture *private_mediacontrol_createRGBPicture( int, int, long, vlc_int64_t l_date,
char *, int);
mediacontrol_PlaylistSeq *private_mediacontrol_PlaylistSeq__alloc( int size );
#define RAISE( c, m ) if( exception ) { exception->code = c; \ #define RAISE( c, m ) if( exception ) { exception->code = c; \
exception->message = strdup(m); } exception->message = strdup(m); }
......
...@@ -199,7 +199,7 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P ...@@ -199,7 +199,7 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
} }
mediacontrol_RGBPicture* mediacontrol_RGBPicture*
mediacontrol_RGBPicture__alloc( int datasize ) private_mediacontrol_RGBPicture__alloc( int datasize )
{ {
mediacontrol_RGBPicture* pic; mediacontrol_RGBPicture* pic;
...@@ -223,7 +223,7 @@ mediacontrol_RGBPicture__free( mediacontrol_RGBPicture* pic ) ...@@ -223,7 +223,7 @@ mediacontrol_RGBPicture__free( mediacontrol_RGBPicture* pic )
} }
mediacontrol_PlaylistSeq* mediacontrol_PlaylistSeq*
mediacontrol_PlaylistSeq__alloc( int size ) private_mediacontrol_PlaylistSeq__alloc( int size )
{ {
mediacontrol_PlaylistSeq* ps; mediacontrol_PlaylistSeq* ps;
...@@ -291,12 +291,12 @@ mediacontrol_exception_free( mediacontrol_Exception *exception ) ...@@ -291,12 +291,12 @@ mediacontrol_exception_free( mediacontrol_Exception *exception )
} }
mediacontrol_RGBPicture* mediacontrol_RGBPicture*
_mediacontrol_createRGBPicture( int i_width, int i_height, long i_chroma, vlc_int64_t l_date, private_mediacontrol_createRGBPicture( int i_width, int i_height, long i_chroma, vlc_int64_t l_date,
char* p_data, int i_datasize ) char* p_data, int i_datasize )
{ {
mediacontrol_RGBPicture *retval; mediacontrol_RGBPicture *retval;
retval = mediacontrol_RGBPicture__alloc( i_datasize ); retval = private_mediacontrol_RGBPicture__alloc( i_datasize );
if( retval ) if( retval )
{ {
retval->width = i_width; retval->width = i_width;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment