[vlc-devel] New libvlc_media_player Event
basOS G
noxelia at gmail.com
Wed Aug 6 12:22:48 CEST 2008
Hello,
i'm new to vlc coding. I'm thinking to add a new event to the
libvlc_media_player that will be triggered when a snapshot is taken.
For this i have realised that the initial trigger should come from function
*vout_Snapshot @ **src/video_output/vout_intf.c.**
*I also know that somewhere i should register a new event type to the
media_player event_manager. The correct place seems to be *
src/control/media_player.c*. There a new function should be created like
input_position_changed :
*
* snapshotTaken (Private) (input var "?????" Callback)
*/
static int
snapshotTaken( vlc_object_t * p_this, char const * psz_cmd,
vlc_value_t oldval, vlc_value_t newval,
void * p_userdata )
{
VLC_UNUSED(oldval);
libvlc_media_player_t * p_mi = p_userdata;
vlc_value_t val;
/*TODO: get value of filename */
libvlc_event_t event;
event.type = libvlc_MediaPlayerSnapshotTaken;
/*TODO: Add snapshot filename
event.u.media_player_position_changed.new_position = val.f_float;
*/
libvlc_event_send( p_mi->p_event_manager, &event );
return VLC_SUCCESS;
}
Now the first problem is how do i connect snapshotTaken with a trigger ? In
libvlc_media_player_play there is a line
* var_AddCallback( p_input_thread, "snapshot-taken", snapshotTaken, p_mi );
*Im not familiar with the variable subsystem (is there a documentation for
it?). What does var_AddCallback suppose to do and how can someone trigger
the callback? I assume that when someone calls var_Set for the input_thread
the callback is triggered.
Lest go to the other part of the event chain. I know that given the *
vout_thread_t* ine can take l*ibvlc_int_t.* Assuming that we "attached" that
snapshot-taken var with the p_input_thread from within the media_player that
we got from media_player->p_input_thread. How can we find this input_thread
from withing vout_thread and call a var_Set( p_input_thread,
"snapshot-taken", &val )?
Thanks in advance
basOS
ps. i have a video filter ready (detects static images and takes snapshots -
yes thats why i need the snapshot event). Should i post it here? Could i
make commits to git ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20080806/a8e43c21/attachment.html>
More information about the vlc-devel
mailing list