1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- From d04abec94ecba4c3f666d9e918a31523e9e430b6 Mon Sep 17 00:00:00 2001
- From: Soomin Lee <bubu@mikan.io>
- Date: Thu, 27 Sep 2018 18:40:39 +0200
- Subject: [PATCH 14/17] libvlc: events: Add callbacks for record
- ---
- include/vlc/libvlc_events.h | 9 +++++++++
- lib/media_player.c | 23 +++++++++++++++++++++++
- 2 files changed, 32 insertions(+)
- diff --git a/include/vlc/libvlc_events.h b/include/vlc/libvlc_events.h
- index 62a81104da..22730b35e1 100644
- --- a/include/vlc/libvlc_events.h
- +++ b/include/vlc/libvlc_events.h
- @@ -31,6 +31,8 @@
-
- # ifdef __cplusplus
- extern "C" {
- +# else
- +# include <stdbool.h>
- # endif
-
- typedef struct libvlc_renderer_item_t libvlc_renderer_item_t;
- @@ -119,6 +121,7 @@ enum libvlc_event_e {
- libvlc_MediaPlayerAudioVolume,
- libvlc_MediaPlayerAudioDevice,
- libvlc_MediaPlayerChapterChanged,
- + libvlc_MediaPlayerRecordChanged,
-
- /**
- * A \link #libvlc_media_t media item\endlink was added to a
- @@ -346,6 +349,12 @@ typedef struct libvlc_event_t
- const char *device;
- } media_player_audio_device;
-
- + struct
- + {
- + const char *file_path;
- + bool recording;
- + } media_player_record_changed;
- +
- struct
- {
- libvlc_renderer_item_t *item;
- diff --git a/lib/media_player.c b/lib/media_player.c
- index 58eec27ae9..4b41ce5e13 100644
- --- a/lib/media_player.c
- +++ b/lib/media_player.c
- @@ -127,6 +127,28 @@ on_state_changed(vlc_player_t *player, enum vlc_player_state new_state,
- libvlc_event_send(&mp->event_manager, &event);
- }
-
- +static void
- +on_recording_changed(vlc_player_t *player, bool recording, void *data)
- +{
- + (void) player;
- +
- + libvlc_media_player_t *mp = data;
- +
- + char *file_path = NULL;
- + if (!recording) {
- + file_path = var_GetString( mp, "record-file" );
- + }
- +
- + libvlc_event_t event;
- + event.type = libvlc_MediaPlayerRecordChanged;
- + event.u.media_player_record_changed.file_path = file_path;
- + event.u.media_player_record_changed.recording = recording;
- +
- + libvlc_event_send(&mp->event_manager, &event);
- +
- + free(file_path);
- +}
- +
- static void
- on_error_changed(vlc_player_t *player, enum vlc_player_error error, void *data)
- {
- @@ -488,6 +510,7 @@ static const struct vlc_player_cbs vlc_player_cbs = {
- .on_media_subitems_changed = on_media_subitems_changed,
- .on_cork_changed = on_cork_changed,
- .on_vout_changed = on_vout_changed,
- + .on_recording_changed = on_recording_changed,
- };
-
- static const struct vlc_player_aout_cbs vlc_player_aout_cbs = {
- --
- 2.21.1 (Apple Git-122.3)
|