/* 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-pitch", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
var_Create (mp, "drawable-xid", VLC_VAR_INTEGER);
#ifdef WIN32
var_Create (mp, "drawable-hwnd", VLC_VAR_ADDRESS);
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
**************************************************************************/