[Xfce4-commits] <parole:master> Fixed crash with rapid-fire video loading.
Sean Davis
noreply at xfce.org
Mon Jul 23 01:26:42 CEST 2012
Updating branch refs/heads/master
to efa1f76fe8ecb8b4cfb78450651fd8e8ec653ed9 (commit)
from f506b2ddc58bea65974795ced55cc1dfd950a9a5 (commit)
commit efa1f76fe8ecb8b4cfb78450651fd8e8ec653ed9
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Fri Jul 20 11:18:56 2012 -0400
Fixed crash with rapid-fire video loading.
src/gst/parole-gst.c | 7 ++-----
src/parole-player.c | 8 +++-----
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c
index ee11163..64be9b1 100644
--- a/src/gst/parole-gst.c
+++ b/src/gst/parole-gst.c
@@ -927,13 +927,11 @@ parole_gst_evaluate_state (ParoleGst *gst, GstState old, GstState new, GstState
{
case GST_STATE_PLAYING:
{
-
gst->priv->media_state = PAROLE_STATE_PLAYING;
TRACE ("Playing");
parole_gst_query_capabilities (gst);
parole_gst_query_info (gst);
parole_gst_query_duration (gst);
-
g_signal_emit (G_OBJECT (gst), signals [MEDIA_STATE], 0,
gst->priv->stream, PAROLE_STATE_PLAYING);
break;
@@ -1194,9 +1192,10 @@ parole_gst_bus_event (GstBus *bus, GstMessage *msg, gpointer data)
{
GstState old, new, pending;
gst_message_parse_state_changed (msg, &old, &new, &pending);
-
if ( GST_MESSAGE_SRC (msg) == GST_OBJECT (gst->priv->playbin) )
+ {
parole_gst_evaluate_state (gst, old, new, pending);
+ }
break;
}
@@ -2247,8 +2246,6 @@ gst_get_lang_list_for_type (ParoleGst * gst, const gchar * type_name)
gst_tag_list_get_string (tags, GST_TAG_LANGUAGE_CODE, &lc);
gst_tag_list_get_string (tags, GST_TAG_CODEC, &lc);
- g_print("%s\n", lc);
-
if (lc) {
ret = g_list_prepend (ret, lc);
g_free (cd);
diff --git a/src/parole-player.c b/src/parole-player.c
index ad637db..131d3d9 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -498,8 +498,11 @@ parole_player_change_range_value (ParolePlayer *player, gdouble value)
static void
parole_player_reset (ParolePlayer *player)
{
+ parole_gst_stop (PAROLE_GST (player->priv->gst));
player->priv->update_languages = TRUE;
gtk_window_set_title (GTK_WINDOW (player->priv->window), "Parole Media Player");
+ player->priv->audio_list = NULL;
+ player->priv->subtitle_list = NULL;
player->priv->current_media_type = PAROLE_MEDIA_TYPE_UNKNOWN;
gtk_widget_hide(GTK_WIDGET(player->priv->infobar));
parole_player_change_range_value (player, 0);
@@ -647,7 +650,6 @@ parole_player_update_languages (ParolePlayer *player, ParoleGst *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;
@@ -1097,9 +1099,7 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
{
PAROLE_DEBUG_ENUM ("State callback", state, PAROLE_ENUM_TYPE_STATE);
-
player->priv->state = state;
-
parole_player_reset_saver_changed (player, stream);
if ( state == PAROLE_STATE_PLAYING )
@@ -1122,7 +1122,6 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
else
TRACE ("***Playback about to finish***");
#endif
-
parole_player_play_next (player, TRUE);
}
}
@@ -2419,7 +2418,6 @@ ParoleMediaList *parole_player_get_media_list (ParolePlayer *player)
void parole_player_play_uri_disc (ParolePlayer *player, const gchar *uri, const gchar *device)
{
- g_print("%s\n", uri);
if ( uri )
{
parole_player_disc_selected_cb (NULL, uri, device, player);
More information about the Xfce4-commits
mailing list