gst/playback/gstplaybasebin.c: Cleanup the previous pipeline a little earlier for the case that a source element prov...
Original commit message from CVS: * gst/playback/gstplaybasebin.c: (setup_source): Cleanup the previous pipeline a little earlier for the case that a source element provides raw data.
This commit is contained in:
parent
d88a2956ac
commit
faa1d71a2e
12
ChangeLog
12
ChangeLog
@ -1,3 +1,9 @@
|
|||||||
|
2004-10-11 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* gst/playback/gstplaybasebin.c: (setup_source):
|
||||||
|
Cleanup the previous pipeline a little earlier for the
|
||||||
|
case that a source element provides raw data.
|
||||||
|
|
||||||
2004-10-11 Benjamin Otte <otte@gnome.org>
|
2004-10-11 Benjamin Otte <otte@gnome.org>
|
||||||
|
|
||||||
* ext/mad/gstid3tag.c: (gst_id3_tag_chain):
|
* ext/mad/gstid3tag.c: (gst_id3_tag_chain):
|
||||||
@ -84,6 +90,11 @@
|
|||||||
cdparanoia.
|
cdparanoia.
|
||||||
disconnect the preroll overrun signal when we don't need it anymore.
|
disconnect the preroll overrun signal when we don't need it anymore.
|
||||||
|
|
||||||
|
2004-10-08 Milosz Derezynski <internalerror.rez@fhtw-berlin.de>
|
||||||
|
|
||||||
|
* ext/cdparanoia/gstcdparanoia.c: (_do_init),
|
||||||
|
Added reworked patch from #154903 from milosz derezynski (deadchip).
|
||||||
|
|
||||||
2004-10-08 Wim Taymans <wim@fluendo.com>
|
2004-10-08 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* ext/cdparanoia/gstcdparanoia.c: (_do_init),
|
* ext/cdparanoia/gstcdparanoia.c: (_do_init),
|
||||||
@ -93,7 +104,6 @@
|
|||||||
(cdparanoia_uri_get_protocols), (cdparanoia_uri_get_uri),
|
(cdparanoia_uri_get_protocols), (cdparanoia_uri_get_uri),
|
||||||
(cdparanoia_uri_set_uri), (cdparanoia_uri_handler_init):
|
(cdparanoia_uri_set_uri), (cdparanoia_uri_handler_init):
|
||||||
* ext/cdparanoia/gstcdparanoia.h:
|
* ext/cdparanoia/gstcdparanoia.h:
|
||||||
Added reworked patch from #154903 from milosz derezynski (deadchip).
|
|
||||||
This adds the cdda://<tracknum> uri.
|
This adds the cdda://<tracknum> uri.
|
||||||
|
|
||||||
2004-10-08 Wim Taymans <wim@fluendo.com>
|
2004-10-08 Wim Taymans <wim@fluendo.com>
|
||||||
|
@ -381,6 +381,7 @@ static gboolean
|
|||||||
setup_source (GstPlayBaseBin * play_base_bin)
|
setup_source (GstPlayBaseBin * play_base_bin)
|
||||||
{
|
{
|
||||||
GstElement *old_src;
|
GstElement *old_src;
|
||||||
|
GstElement *old_dec;
|
||||||
GstPad *srcpad = NULL;
|
GstPad *srcpad = NULL;
|
||||||
|
|
||||||
if (!play_base_bin->need_rebuild)
|
if (!play_base_bin->need_rebuild)
|
||||||
@ -409,6 +410,14 @@ setup_source (GstPlayBaseBin * play_base_bin)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
old_dec = play_base_bin->decoder;
|
||||||
|
if (old_dec) {
|
||||||
|
GST_LOG ("removing old decoder element %s", gst_element_get_name (old_dec));
|
||||||
|
gst_bin_remove (GST_BIN (play_base_bin->thread), old_dec);
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_prerolls (play_base_bin);
|
||||||
|
|
||||||
/* now see if the source element emits raw audio/video all by itself,
|
/* now see if the source element emits raw audio/video all by itself,
|
||||||
* if so, we can create streams for the pads and be done with it
|
* if so, we can create streams for the pads and be done with it
|
||||||
*/
|
*/
|
||||||
@ -461,9 +470,6 @@ setup_source (GstPlayBaseBin * play_base_bin)
|
|||||||
{
|
{
|
||||||
gboolean res;
|
gboolean res;
|
||||||
gint sig1, sig2, sig3, sig4;
|
gint sig1, sig2, sig3, sig4;
|
||||||
GstElement *old_dec;
|
|
||||||
|
|
||||||
old_dec = play_base_bin->decoder;
|
|
||||||
|
|
||||||
play_base_bin->decoder = gst_element_factory_make ("decodebin", "decoder");
|
play_base_bin->decoder = gst_element_factory_make ("decodebin", "decoder");
|
||||||
if (!play_base_bin->decoder) {
|
if (!play_base_bin->decoder) {
|
||||||
@ -471,16 +477,11 @@ setup_source (GstPlayBaseBin * play_base_bin)
|
|||||||
play_base_bin->decoder = old_dec;
|
play_base_bin->decoder = old_dec;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} else {
|
} else {
|
||||||
if (old_dec) {
|
/* ref decoder so that the bin does not take ownership */
|
||||||
GST_LOG ("removing old decoder element %s",
|
gst_object_ref (GST_OBJECT (play_base_bin->decoder));
|
||||||
gst_element_get_name (old_dec));
|
|
||||||
gst_bin_remove (GST_BIN (play_base_bin->thread), old_dec);
|
|
||||||
}
|
|
||||||
gst_bin_add (GST_BIN (play_base_bin->thread), play_base_bin->decoder);
|
gst_bin_add (GST_BIN (play_base_bin->thread), play_base_bin->decoder);
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_prerolls (play_base_bin);
|
|
||||||
|
|
||||||
res = gst_pad_link (srcpad,
|
res = gst_pad_link (srcpad,
|
||||||
gst_element_get_pad (play_base_bin->decoder, "sink"));
|
gst_element_get_pad (play_base_bin->decoder, "sink"));
|
||||||
if (!res) {
|
if (!res) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user