After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 577175 - Internal data flow error when changing aspect ratio while playing DVB
Internal data flow error when changing aspect ratio while playing DVB
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: dont know
0.10.x
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 589914 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-03-29 10:44 UTC by Arn
Modified: 2011-08-16 09:34 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Arn 2009-03-29 10:44:11 UTC
Please describe the problem:
While using Totem to watch DVB broadcasts, the video is regularly interrupted with an error message "Internal data flow error." When this error appears, the video is stopped and Totem appears to be paused. By pressing the play button again, the video is restarted.

After some pondering on what could be the cause, I noticed that it always seems to happen just before an advertisement break begins or ends. Further observation indicated that the problem is likely to be caused by the aspect ratio change that occurs during programmes broadcast by some broadcasters. In other words, they are broadcasting a film in 16:9 format but the advertisements are broadcast in 4:3 (and vice-versa of course). Gstreamer doesn't appear to like this format switch.


Steps to reproduce:
1. Tune into a DVB station that tends to change its displayed video format.
2. Wait for an aspect ration change (eg. during an advertisement break).
3. Dialog box appears with error message.


Actual results:
The video stops and Totem is paused. Pressing play continues the video.

Expected results:
I would expect no error message and the video should continue as normal.

Does this happen every time?
Yes.

Other information:
Gstreamer debug:

0:00:34.188149194 22438 0x7f3b8cf1c5f0 INFO              GST_PADS gstpad.c:3222:gst_pad_event_default_dispatch:<mpegtsdemux1:video_00a1> Sending event 0x7f3b8facc9c0 (qos) to all internally linked pads
0:00:34.188166165 22438 0x7f3b8cf1c5f0 INFO              GST_PADS gstpad.c:3222:gst_pad_event_default_dispatch:<mpegtsparse1:program_16394> Sending event 0x7f3b8facc9c0 (qos) to all internally linked pads
0:00:34.227854031 22438 0x7f3b8cf1c5f0 INFO             GST_EVENT gstevent.c:779:gst_event_new_qos: creating qos proportion 0,054688, diff -38687666, timestamp 0:00:21.968366666
0:00:34.227981421 22438 0x7f3b8cf1c5f0 INFO              GST_PADS gstpad.c:3222:gst_pad_event_default_dispatch:<selector_video_src0:src> Sending event 0x7f3b8f8fd800 (qos) to all internally linked pads
0:00:34.228015713 22438 0x7f3b8cf1c5f0 WARN              GST_PADS gstpad.c:2992:gst_pad_iterate_internal_links_default:<selector_video_src0:src> Making unsafe iterator
0:00:34.228057408 22438 0x7f3b8cf1c5f0 INFO              GST_PADS gstpad.c:3222:gst_pad_event_default_dispatch:<mpegtsdemux1:video_00a1> Sending event 0x7f3b8f8fd800 (qos) to all internally linked pads
0:00:34.228089256 22438 0x7f3b8cf1c5f0 INFO              GST_PADS gstpad.c:3222:gst_pad_event_default_dispatch:<mpegtsparse1:program_16394> Sending event 0x7f3b8f8fd800 (qos) to all internally linked pads
0:00:34.252336751 22438 0x7f3b8fac0ae0 INFO               basesrc gstbasesrc.c:2190:gst_base_src_loop:<dvbsrc2> pausing after gst_pad_push() = not-negotiated
0:00:34.252506885 22438 0x7f3b8fac0ae0 WARN               basesrc gstbasesrc.c:2234:gst_base_src_loop:<dvbsrc2> error: Internal data flow error.
0:00:34.252552561 22438 0x7f3b8fac0ae0 WARN               basesrc gstbasesrc.c:2234:gst_base_src_loop:<dvbsrc2> error: streaming task paused, reason not-negotiated (-4)
0:00:34.252629246 22438 0x7f3b8fac0ae0 INFO      GST_ERROR_SYSTEM gstelement.c:1675:gst_element_message_full:<dvbsrc2> posting message: Internal data flow error.
0:00:34.252789951 22438 0x7f3b8fac0ae0 INFO      GST_ERROR_SYSTEM gstelement.c:1698:gst_element_message_full:<dvbsrc2> posted error message: Internal data flow error.
0:00:34.252916015 22438 0x7f3b9a7fb6d0 ERROR                totem bacon-video-widget-gst-0.10.c:332:bvw_error_msg: message = Internal data flow error.
0:00:34.253012745 22438 0x7f3b9a7fb6d0 ERROR                totem bacon-video-widget-gst-0.10.c:334:bvw_error_msg: domain  = 3051 (gst-stream-error-quark)
0:00:34.253047177 22438 0x7f3b9a7fb6d0 ERROR                totem bacon-video-widget-gst-0.10.c:335:bvw_error_msg: code    = 1
0:00:34.253077558 22438 0x7f3b9a7fb6d0 ERROR                totem bacon-video-widget-gst-0.10.c:336:bvw_error_msg: debug   = gstbasesrc.c(2234): gst_base_src_loop (): /GstPlayBin:play/DvbBaseBin:source/GstDvbSrc:dvbsrc2:
streaming task paused, reason not-negotiated (-4)
0:00:34.253108986 22438 0x7f3b9a7fb6d0 ERROR                totem bacon-video-widget-gst-0.10.c:337:bvw_error_msg: source  = <dvbsrc2>
0:00:34.253150891 22438 0x7f3b9a7fb6d0 ERROR                totem bacon-video-widget-gst-0.10.c:338:bvw_error_msg: uri     = dvb://kabel eins(ProSiebenSat.1)
** Message: Error: Internal data flow error.
gstbasesrc.c(2234): gst_base_src_loop (): /GstPlayBin:play/DvbBaseBin:source/GstDvbSrc:dvbsrc2:
streaming task paused, reason not-negotiated (-4)

0:00:34.253473907 22438 0x7f3b9a7fb6d0 INFO            GST_STATES gstbin.c:2200:gst_bin_change_state_func:<autovideosink1> child 'autovideosink1-actual-sink-xvimage' is changing state asynchronously to PAUSED
0:00:34.253528802 22438 0x7f3b9a7fb6d0 INFO            GST_STATES gstbin.c:2200:gst_bin_change_state_func:<bin7> child 'autovideosink1' is changing state asynchronously to PAUSED
0:00:34.253564282 22438 0x7f3b8cf1c5f0 INFO            GST_STATES gstbin.c:2578:bin_handle_async_done:<autovideosink1> committing state from PLAYING to PAUSED, old pending PAUSED
0:00:34.253631958 22438 0x7f3b8cf1c5f0 INFO            GST_STATES gstbin.c:2593:bin_handle_async_done:<autovideosink1> completed state change, pending VOID
0:00:34.253584186 22438 0x7f3b9a7fb6d0 INFO            GST_STATES gstbin.c:2200:gst_bin_change_state_func:<video-sink> child 'bin7' is changing state asynchronously to PAUSED
0:00:34.253714301 22438 0x7f3b8cf1c5f0 INFO            GST_STATES gstbin.c:2578:bin_handle_async_done:<bin7> committing state from PLAYING to PAUSED, old pending PAUSED
0:00:34.253763399 22438 0x7f3b8cf1c5f0 INFO            GST_STATES gstbin.c:2593:bin_handle_async_done:<bin7> completed state change, pending VOID


Tested on:

Fedora 2.6.27.19-170.2.35.fc10.x86_64 #1 SMP Mon Feb 23 13:00:23 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

totem-gstreamer 2.24.3
gstreamer-ffmpeg 0.10.5
gstreamer-tools 0.10.21
gstreamer-python 0.10.12
gstreamer-plugins-bad 0.10.9
gstreamer-plugins-good 0.10.13
gstreamer-plugins-base 0.10.21
gstreamer 0.10.21
gstreamer-plugins-flumpegdemux 0.10.15
PackageKit-gstreamer-plugin 0.3.14
gstreamer-plugins-ugly 0.10.10

dvb-usb: found a 'Pinnacle PCTV DVB-T Flash Stick' in cold state, will try to load a firmware
firmware: requesting dvb-usb-dib0700-1.10.fw
dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.10.fw'
dib0700: firmware started successfully.
SELinux: initialized (dev sdc, type vfat), uses genfs_contexts
dvb-usb: found a 'Pinnacle PCTV DVB-T Flash Stick' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (Pinnacle PCTV DVB-T Flash Stick)
DVB: registering frontend 0 (DiBcom 7000PC)...
DiB0070: successfully identified
input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2/input/input11
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: Pinnacle PCTV DVB-T Flash Stick successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_dib0700
Comment 1 Sebastian Dröge (slomo) 2011-05-20 06:02:42 UTC
Is this still a problem with the latest releases? If it is, could you get a complete debug log? The important parts are missing here unfortunately.
Comment 2 Sebastian Dröge (slomo) 2011-05-20 07:16:23 UTC
*** Bug 589914 has been marked as a duplicate of this bug. ***
Comment 3 Akhil Laddha 2011-07-01 05:56:19 UTC
Arn, can you please confirm the bug against latest release as requested in comment#1 ?
Comment 4 Akhil Laddha 2011-08-16 09:34:39 UTC
Please feel free to reopen this bug if the problem still occurs with a newer version of GStreamer Core 0.10.35, Base Plugins 0.10.35, Good Plugins 0.10.30 stable release, tia.