GNOME Bugzilla – Bug 577175
Internal data flow error when changing aspect ratio while playing DVB
Last modified: 2011-08-16 09:34:39 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
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.
*** Bug 589914 has been marked as a duplicate of this bug. ***
Arn, can you please confirm the bug against latest release as requested in comment#1 ?
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.