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 712290 - GES cannot unmux raw video streams
GES cannot unmux raw video streams
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-editing-services
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 712328 712343 712401
Blocks:
 
 
Reported: 2013-11-14 11:52 UTC by Lubosz Sarnecki
Modified: 2014-11-01 08:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Python example of loading the video file (1.07 KB, text/x-python)
2013-11-14 11:52 UTC, Lubosz Sarnecki
Details

Description Lubosz Sarnecki 2013-11-14 11:52:57 UTC
Created attachment 259799 [details]
Python example of loading the video file

I generated following files:

gst-launch-1.0 videotestsrc num-buffers=100 ! videoconvert ! matroskamux ! filesink location=raw.mkv

gst-launch-1.0 videotestsrc num-buffers=100 ! videoconvert ! qtmux ! filesink location=raw.mov

gst-launch-1.0 videotestsrc num-buffers=100 ! videoconvert ! avimux ! filesink location=raw.avi

They all contain raw video streams and are playable by Totem / gst-play.

GES cannot link the pipeline due to demuxing errors:

MKV

(GError('GStreamer encountered a general stream error.',), 'matroska-demux.c(4672): gst_matroska_demux_loop (): /GESPipeline:gespipeline0/GESTimeline:gestimeline0/GESVideoTrack:gesvideotrack0/GnlComposition:gnlcomposition1/GnlSource:gnlsource0/GstBin:videosrcbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin3/GstMatroskaDemux:matroskademux1:\nstream stopped, reason not-negotiated')

AVI

(GError('Internal data stream error.',), 'gstavidemux.c(5383): gst_avi_demux_loop (): /GESPipeline:gespipeline0/GESTimeline:gestimeline0/GESVideoTrack:gesvideotrack0/GnlComposition:gnlcomposition1/GnlSource:gnlsource0/GstBin:videosrcbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin3/GstAviDemux:avidemux1:\nstreaming stopped, reason not-negotiated')

MOV

Segmentation fault (core dumped)

  • #0 ??
  • #1 ??
    from /usr/lib/gstreamer-1.0/libgstvideomixer.so
  • #2 ??
    from /usr/lib/gstreamer-1.0/libgstvideomixer.so
  • #3 ??
    from /usr/lib/gstreamer-1.0/libgstvideomixer.so
  • #4 ??
    from /usr/lib/gstreamer-1.0/libgstvideomixer.so
  • #5 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #6 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #7 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #8 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #9 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #10 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #11 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #12 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #13 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #14 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #15 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #16 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #17 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #18 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #19 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #20 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #21 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #22 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #23 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #24 ??
    from /usr/lib/gstreamer-1.0/libgstvideorate.so
  • #25 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #26 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #27 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #28 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #29 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #30 ??
    from /usr/lib/libgstbase-1.0.so.0
  • #31 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #32 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #33 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #34 gst_proxy_pad_chain_default
    from /usr/lib/libgstreamer-1.0.so.0
  • #35 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #36 ??
    from /usr/lib/gstreamer-1.0/libgstcoreelements.so
  • #37 ??
    from /usr/lib/libgstreamer-1.0.so.0
  • #38 ??
    from /usr/lib/libglib-2.0.so.0
  • #39 ??
    from /usr/lib/libglib-2.0.so.0
  • #40 start_thread
    from /usr/lib/libpthread.so.0
  • #41 clone
    from /usr/lib/libc.so.6

(I will provide a full backtrace soon, since I don't have debug symbols)
Comment 1 Lubosz Sarnecki 2013-11-14 12:58:01 UTC
Backtrace of the quicktime crash with debug symbols (the crash occured with python)


  • #0 ??
  • #1 video_mixer_orc_splat_u32
    at tmp-orc.c line 292
  • #2 fill_color_uyvy
    at blend.c line 942
  • #3 gst_videomixer2_blend_buffers
    at videomixer2.c line 1030
  • #4 gst_videomixer2_collected
    at videomixer2.c line 1264
  • #5 gst_collect_pads_check_collected
    at gstcollectpads.c line 1301
  • #6 gst_collect_pads_chain
    at gstcollectpads.c line 2023
  • #7 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #8 gst_pad_push_data
    at gstpad.c line 3941
  • #9 gst_pad_push
    at gstpad.c line 4044
  • #10 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #11 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #12 gst_pad_push_data
    at gstpad.c line 3941
  • #13 gst_pad_push
    at gstpad.c line 4044
  • #14 gst_base_transform_chain
    at gstbasetransform.c line 2237
  • #15 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #16 gst_pad_push_data
    at gstpad.c line 3941
  • #17 gst_pad_push
    at gstpad.c line 4044
  • #18 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #19 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #20 gst_pad_push_data
    at gstpad.c line 3941
  • #21 gst_pad_push
    at gstpad.c line 4044
  • #22 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #23 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #24 gst_pad_push_data
    at gstpad.c line 3941
  • #25 gst_pad_push
    at gstpad.c line 4044
  • #26 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #27 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #28 gst_pad_push_data
    at gstpad.c line 3941
  • #29 gst_pad_push
    at gstpad.c line 4044
  • #30 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #31 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #32 gst_pad_push_data
    at gstpad.c line 3941
  • #33 gst_pad_push
    at gstpad.c line 4044
  • #34 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #35 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #36 gst_pad_push_data
    at gstpad.c line 3941
  • #37 gst_pad_push
    at gstpad.c line 4044
  • #38 gst_base_transform_chain
    at gstbasetransform.c line 2237
  • #39 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #40 gst_pad_push_data
    at gstpad.c line 3941
  • #41 gst_pad_push
    at gstpad.c line 4044
  • #42 gst_video_rate_flush_prev
    at gstvideorate.c line 632
  • #43 gst_video_rate_transform_ip
    at gstvideorate.c line 1062
  • #44 gst_base_transform_handle_buffer
    at gstbasetransform.c line 2089
  • #45 gst_base_transform_chain
    at gstbasetransform.c line 2201
  • #46 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #47 gst_pad_push_data
    at gstpad.c line 3941
  • #48 gst_pad_push
    at gstpad.c line 4044
  • #49 gst_base_transform_chain
    at gstbasetransform.c line 2237
  • #50 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #51 gst_pad_push_data
    at gstpad.c line 3941
  • #52 gst_pad_push
    at gstpad.c line 4044
  • #53 gst_base_transform_chain
    at gstbasetransform.c line 2237
  • #54 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #55 gst_pad_push_data
    at gstpad.c line 3941
  • #56 gst_pad_push
    at gstpad.c line 4044
  • #57 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #58 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #59 gst_pad_push_data
    at gstpad.c line 3941
  • #60 gst_pad_push
    at gstpad.c line 4044
  • #61 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #62 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #63 gst_pad_push_data
    at gstpad.c line 3941
  • #64 gst_pad_push
    at gstpad.c line 4044
  • #65 gst_single_queue_push_one
    at gstmultiqueue.c line 1083
  • #66 gst_multi_queue_loop
    at gstmultiqueue.c line 1331
  • #67 gst_task_func
    at gsttask.c line 316
  • #68 ??
    from /usr/lib/libglib-2.0.so.0
  • #69 ??
    from /usr/lib/libglib-2.0.so.0
  • #70 start_thread
    from /usr/lib/libpthread.so.0
  • #71 clone
    from /usr/lib/libc.so.6

Comment 2 Thibault Saunier 2013-11-14 19:15:26 UTC
Patch from https://bugzilla.gnome.org/show_bug.cgi?id=712328 should fix the issue for matroska.
Comment 3 Thibault Saunier 2013-11-14 21:11:06 UTC
(In reply to comment #1)
> Backtrace of the quicktime crash with debug symbols (the crash occured with
> python)
> 
> 
> 

That looks like a bug in the blending code... which is pretty insteresting as we should clearly not be blending in this simple case.
Comment 4 Thibault Saunier 2013-11-15 21:17:42 UTC
And https://bugzilla.gnome.org/show_bug.cgi?id=712343 for avi
Comment 5 Thibault Saunier 2013-11-15 21:44:25 UTC
(In reply to comment #3)
> (In reply to comment #1)
> > Backtrace of the quicktime crash with debug symbols (the crash occured with
> > python)
> > 
> > 
> > 
> 
> That looks like a bug in the blending code... which is pretty insteresting as
> we should clearly not be blending in this simple case.

Actually: https://bugzilla.gnome.org/show_bug.cgi?id=712401
Comment 6 Tim-Philipp Müller 2013-11-16 12:44:22 UTC
I don't understand the dependency on all these other bugs.

Does GES look at the content of the CODEC tags for anything?
Comment 7 Lubosz Sarnecki 2013-11-16 12:54:40 UTC
I can confirm that the patch on -base fixes the AVI issue and the patch on -good fixes the mkv issue.
Comment 8 Thibault Saunier 2013-11-16 18:19:53 UTC
(In reply to comment #6)
> I don't understand the dependency on all these other bugs.
> 
> Does GES look at the content of the CODEC tags for anything?

I just opened bugs for the actual issues that this bugs is about so we do not end up having pathes for specific issues in here. And I made this bug depend on those specific issues as it is more easy to follow this way (at least for me), and that bug can be closed when those 3 specific bugs are finally closed.

Isn't it the right way to do that?
Comment 9 Tim-Philipp Müller 2013-11-16 20:00:00 UTC
I may have misunderstood what those patches do. I thought they mainly use the pbutils stuff for the codec tags, but it's the using-GstVideoInfo thing that fixes stuff here, is it?
Comment 10 Thibault Saunier 2013-11-16 20:52:33 UTC
(In reply to comment #9)
> I may have misunderstood what those patches do. I thought they mainly use the
> pbutils stuff for the codec tags, but it's the using-GstVideoInfo thing that
> fixes stuff here, is it?

Right the main point of those patches is to make use of the GstVideoInfo API to create raw video caps, and this is the part that fixes the issues described here.
Comment 11 Thibault Saunier 2014-11-01 08:35:21 UTC
Ok so I just retested it on master and it works.