[Xfce4-commits] <parole:master> Added fix for subtitles and crashes with audio.
Sean Davis
noreply at xfce.org
Mon Jul 23 01:26:22 CEST 2012
Updating branch refs/heads/master
to cddf2b238a23272f7926108043edd6beee428dc8 (commit)
from 4fa9a307d345110ae8fd954fb25c4123aebbc055 (commit)
commit cddf2b238a23272f7926108043edd6beee428dc8
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Thu Jul 19 16:58:52 2012 -0400
Added fix for subtitles and crashes with audio.
src/gst/parole-gst.c | 15 +++++++++++++++
src/gst/parole-gst.h | 2 ++
src/parole-player.c | 9 +++++++--
3 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c
index b8614d3..35e4895 100644
--- a/src/gst/parole-gst.c
+++ b/src/gst/parole-gst.c
@@ -2266,6 +2266,18 @@ gst_get_lang_list_for_type (ParoleGst * gst, const gchar * type_name)
return g_list_reverse (ret);
}
+gboolean
+gst_get_has_video( ParoleGst *gst )
+{
+ gboolean playing_video;
+
+ g_object_get (G_OBJECT (gst->priv->stream),
+ "has-video", &playing_video,
+ NULL);
+
+ return playing_video;
+}
+
void
gst_set_current_audio_track( ParoleGst *gst, gint track_no )
{
@@ -2275,7 +2287,10 @@ gst_set_current_audio_track( ParoleGst *gst, gint track_no )
void
gst_set_current_subtitle_track( ParoleGst *gst, gint track_no )
{
+ if (track_no >= 0)
g_object_set (G_OBJECT (gst->priv->playbin), "current-text", (track_no-1), NULL);
+ else
+ g_object_set (G_OBJECT (gst->priv->playbin), "current-text", (NULL), NULL);
}
const ParoleStream *parole_gst_get_stream (ParoleGst *gst)
diff --git a/src/gst/parole-gst.h b/src/gst/parole-gst.h
index 648dc0a..680c928 100644
--- a/src/gst/parole-gst.h
+++ b/src/gst/parole-gst.h
@@ -142,6 +142,8 @@ void parole_gst_set_cursor_visible (ParoleGst *gst,
GList * gst_get_lang_list_for_type (ParoleGst * gst, const gchar * type_name);
+gboolean gst_get_has_video( ParoleGst *gst );
+
void gst_set_current_audio_track( ParoleGst *gst, gint track_no );
void gst_set_current_subtitle_track( ParoleGst *gst, gint track_no );
diff --git a/src/parole-player.c b/src/parole-player.c
index 7daccf6..688fc7b 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -495,6 +495,7 @@ static void
parole_player_reset (ParolePlayer *player)
{
player->priv->update_languages = TRUE;
+ gtk_widget_hide(GTK_WIDGET(player->priv->infobar));
parole_player_change_range_value (player, 0);
if ( player->priv->row )
@@ -625,8 +626,12 @@ parole_player_update_languages (ParolePlayer *player, ParoleGst *gst)
{
if (player->priv->update_languages == TRUE)
{
- parole_player_update_audio_tracks(player, gst);
- parole_player_update_subtitles(player, gst);
+ if (gst_get_has_video( PAROLE_GST(player->priv->gst) ))
+ {
+ parole_player_update_audio_tracks(player, gst);
+
+ parole_player_update_subtitles(player, gst);
+ }
player->priv->update_languages = FALSE;
}
}
More information about the Xfce4-commits
mailing list