From 71c85603a71b1382a2eb12cbe9e5e5db9eadcfe1 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 8 Jun 2012 05:10:29 +0000 Subject: [PATCH] emotion: implement SPU switch for generic/vlc. Patch by Hugo Camboulive . SVN revision: 71831 --- legacy/emotion/AUTHORS | 2 ++ legacy/emotion/ChangeLog | 4 ++++ legacy/emotion/NEWS | 1 + .../src/generic_players/vlc/emotion_generic_vlc.c | 13 +++++++++++++ 4 files changed, 20 insertions(+) diff --git a/legacy/emotion/AUTHORS b/legacy/emotion/AUTHORS index 95af23a32d..c683782f43 100644 --- a/legacy/emotion/AUTHORS +++ b/legacy/emotion/AUTHORS @@ -5,3 +5,5 @@ Sebastian Dransfeld Cedric Bail Rafael Antognolli Jérôme Pinot +Pierre Le Magourou +Hugo Camboulive diff --git a/legacy/emotion/ChangeLog b/legacy/emotion/ChangeLog index 203332a275..ca8f7aff55 100644 --- a/legacy/emotion/ChangeLog +++ b/legacy/emotion/ChangeLog @@ -17,3 +17,7 @@ 2012-06-08 Pierre Le Magourou * Add support for "playback_started" callback to generic player. + +2012-06-08 Hugo Camboulive + + * Implement SPU switch for generic/vlc. diff --git a/legacy/emotion/NEWS b/legacy/emotion/NEWS index 75d4ae05de..9f7f54ab73 100644 --- a/legacy/emotion/NEWS +++ b/legacy/emotion/NEWS @@ -5,6 +5,7 @@ Changes since Emotion 1.0.0: Additions: - Add support for "playback_started" callback to generic player. + - Implement SPU switch for generic/vlc. Fixes: - build out of tree. diff --git a/legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c b/legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c index 4fe1d16fbc..7ec0a6f6c2 100644 --- a/legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c +++ b/legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c @@ -473,6 +473,16 @@ _volume_set(struct _App *app) libvlc_audio_set_volume(app->mp, vol); } +static void +_spu_track_set(struct _App *app) +{ + int track; + + _em_read_safe(app->em_read, &track, sizeof(track)); + + libvlc_video_set_spu(app->mp, track); +} + static void _audio_track_set(struct _App *app) { @@ -596,6 +606,9 @@ _process_emotion_commands(struct _App *app) case EM_CMD_VOLUME_SET: _volume_set(app); break; + case EM_CMD_SPU_TRACK_SET: + _spu_track_set(app); + break; case EM_CMD_AUDIO_TRACK_SET: _audio_track_set(app); break;