mirror of
https://github.com/videolan/vlc.git
synced 2024-12-12 19:23:43 +08:00
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
This commit is contained in:
parent
6f47f36936
commit
7151b1d6cd
@ -45,92 +45,22 @@ extern "C" {
|
||||
|
||||
#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_internal.h. API users do not have to mess with it.
|
||||
*/
|
||||
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
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* Allocate a RGBPicture structure.
|
||||
* \param datasize: the size of the data
|
||||
*/
|
||||
mediacontrol_RGBPicture *mediacontrol_RGBPicture__alloc( int datasize );
|
||||
|
||||
/**
|
||||
* Free a RGBPicture structure.
|
||||
* \param pic: the RGBPicture structure
|
||||
*/
|
||||
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 );
|
||||
|
||||
/**
|
||||
|
@ -58,6 +58,16 @@ typedef enum {
|
||||
mediacontrol_MediaTime
|
||||
} 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
|
||||
*/
|
||||
@ -67,6 +77,54 @@ typedef struct {
|
||||
long value;
|
||||
} 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
|
||||
}
|
||||
# endif
|
||||
|
@ -88,12 +88,12 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
|
||||
|
||||
if( p_snapshot )
|
||||
{
|
||||
p_pic = _mediacontrol_createRGBPicture( p_snapshot->i_width,
|
||||
p_snapshot->i_height,
|
||||
VLC_FOURCC( 'p','n','g',' ' ),
|
||||
p_snapshot->date,
|
||||
p_snapshot->p_data,
|
||||
p_snapshot->i_datasize );
|
||||
p_pic = private_mediacontrol_createRGBPicture( p_snapshot->i_width,
|
||||
p_snapshot->i_height,
|
||||
VLC_FOURCC( 'p','n','g',' ' ),
|
||||
p_snapshot->date,
|
||||
p_snapshot->p_data,
|
||||
p_snapshot->i_datasize );
|
||||
if( !p_pic )
|
||||
{
|
||||
free( p_snapshot->p_data );
|
||||
|
@ -357,7 +357,7 @@ mediacontrol_playlist_get_list( mediacontrol_Instance *self,
|
||||
vlc_mutex_lock( &p_playlist->object_lock );
|
||||
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++ )
|
||||
{
|
||||
|
@ -46,6 +46,18 @@ vlc_int64_t mediacontrol_position2microsecond(
|
||||
input_thread_t *p_input,
|
||||
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; \
|
||||
exception->message = strdup(m); }
|
||||
|
||||
|
@ -199,7 +199,7 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
|
||||
}
|
||||
|
||||
mediacontrol_RGBPicture*
|
||||
mediacontrol_RGBPicture__alloc( int datasize )
|
||||
private_mediacontrol_RGBPicture__alloc( int datasize )
|
||||
{
|
||||
mediacontrol_RGBPicture* pic;
|
||||
|
||||
@ -223,7 +223,7 @@ mediacontrol_RGBPicture__free( mediacontrol_RGBPicture* pic )
|
||||
}
|
||||
|
||||
mediacontrol_PlaylistSeq*
|
||||
mediacontrol_PlaylistSeq__alloc( int size )
|
||||
private_mediacontrol_PlaylistSeq__alloc( int size )
|
||||
{
|
||||
mediacontrol_PlaylistSeq* ps;
|
||||
|
||||
@ -291,12 +291,12 @@ mediacontrol_exception_free( mediacontrol_Exception *exception )
|
||||
}
|
||||
|
||||
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 )
|
||||
{
|
||||
mediacontrol_RGBPicture *retval;
|
||||
|
||||
retval = mediacontrol_RGBPicture__alloc( i_datasize );
|
||||
retval = private_mediacontrol_RGBPicture__alloc( i_datasize );
|
||||
if( retval )
|
||||
{
|
||||
retval->width = i_width;
|
||||
|
Loading…
Reference in New Issue
Block a user