GNOME Bugzilla – Bug 608484
[playbin2] problem with redirect and reset to READY
Last modified: 2010-02-01 14:03:08 UTC
Created attachment 152602 [details] test-playbin2.c, compile with libtool --mode=link gcc `pkg-config --cflags --libs gstreamer-0.10` -o test-playbin2 test-playbin2.c -Wall -ggdb The following doesn't seem to work right: - create playbin2 - set http URI - get .mov file with redirect - set playbin2 back to READY - flush bus - set redirect rtsp URI - set to PLAYING I get an internal flow error (not-negotiated, apparrently because the jitterbuffer tries to push rtp packets onto a qtdemux via typefind), others (philn) report nothing happening with the pipeline constantly going back and forth from PLAYING to PAUSED state (in totem at least). Test case attached.
Easy fix, we need to clear some properties on the cached decodebin2. Patch follows..
Created attachment 152716 [details] [review] possible patch Clean up the caps and sink-caps properties when decodebin2 is reused because else the typefinding could run with old settings.
*** Bug 608466 has been marked as a duplicate of this bug. ***
Review of attachment 152716 [details] [review]: Cool, thanks for the fix, please commit (btw, there's a typo in the commit message: "chaged"). ::: gst/playback/gsturidecodebin.c @@ +1181,3 @@ gst_bin_remove (GST_BIN_CAST (bin), decoder); + /* restore some properties we might have changed */ + g_object_set (G_OBJECT (decoder), "sink-caps", NULL, NULL); FWIW, g_object_set() takes a gpointer as first argument, so the G_OBJECT cast is not strictly necessary here.
commit fd755182b17f381254058cf747d287b1a8a03ea6 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Mon Feb 1 11:44:34 2010 +0100 uridecodebin: clean up decodebin properties When reusing a decodebin2 element, clear the properties we might have changed, to their default values or else we might end up with old configuration. Fixes #608484