X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcontrol%2Fmedia_player.c;h=cf54fcd90541816804af116ba1e7de18a01ca5a8;hb=31150350679286f873c94fc670ddbafddaed7163;hp=e02dba0bdd61a86cb795631cb78704f8c860215d;hpb=4787f2365afd93cbd2fa8fc5790920b5ad10fc40;p=vlc diff --git a/src/control/media_player.c b/src/control/media_player.c index e02dba0bdd..cf54fcd905 100644 --- a/src/control/media_player.c +++ b/src/control/media_player.c @@ -369,6 +369,14 @@ libvlc_media_player_new( libvlc_instance_t *instance ) /* Video */ var_Create (mp, "vout", VLC_VAR_STRING|VLC_VAR_DOINHERIT); var_Create (mp, "window", VLC_VAR_STRING); + var_Create (mp, "vmem-lock", VLC_VAR_ADDRESS); + var_Create (mp, "vmem-unlock", VLC_VAR_ADDRESS); + var_Create (mp, "vmem-display", VLC_VAR_ADDRESS); + var_Create (mp, "vmem-data", VLC_VAR_ADDRESS); + var_Create (mp, "vmem-chroma", VLC_VAR_STRING | VLC_VAR_DOINHERIT); + var_Create (mp, "vmem-width", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT); + var_Create (mp, "vmem-height", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT); + var_Create (mp, "vmem-width", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT); var_Create (mp, "drawable-xid", VLC_VAR_INTEGER); #ifdef WIN32 var_Create (mp, "drawable-hwnd", VLC_VAR_ADDRESS); @@ -767,6 +775,29 @@ void libvlc_media_player_stop( libvlc_media_player_t *p_mi ) unlock_input(p_mi); } + +void libvlc_video_set_callbacks( libvlc_media_player_t *mp, + void *(*lock_cb) (void *, void **), + void (*unlock_cb) (void *, void *, void *const *), + void (*display_cb) (void *, void *), + void *opaque ) +{ + var_SetAddress( mp, "vmem-lock", lock_cb ); + var_SetAddress( mp, "vmem-unlock", unlock_cb ); + var_SetAddress( mp, "vmem-display", display_cb ); + var_SetAddress( mp, "vmem-data", opaque ); + var_SetString( mp, "vout", "vmem" ); +} + +void libvlc_video_set_format( libvlc_media_player_t *mp, const char *chroma, + unsigned width, unsigned height, unsigned pitch ) +{ + var_SetString( mp, "vmem-chroma", chroma ); + var_SetInteger( mp, "vmem-width", width ); + var_SetInteger( mp, "vmem-height", height ); + var_SetInteger( mp, "vmem-pitch", pitch ); +} + /************************************************************************** * set_nsobject **************************************************************************/