[Bug 772230] decodebin3-parse: Make it generate pending input streams

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Nov 2 00:47:07 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=772230

--- Comment #5 from HoonHee Lee <hoonh83.lee at gmail.com> ---
Dear All

Let me explain and summarize the issued problem.

1) First Stream (1-audio and 1-video)
------------------------------------------------
  * audio
    Stream '3413b58d3355261af6f2acc9fea088dc/001'
    caps  : audio/x-eac3, framed=(boolean)true, rate=(int)48000,
channels=(int)2
    It is configured in parsebin0(qtdemux1) and parsebin0:src_0 is exposed.
  * video
    Stream '5ce6e6326043ee59a7efaa509b3da693/002'
    caps  : video/x-h264, stream-format=(string)avc, ...
    It is configured in parsebin1(qtdemux0) and parsebin1:src_1 is exposed.
------------------------------------------------

2) Second Stream (1-audio and 1-video)
: Just audio stream(codec) is changed from eac3 to mpeg. Video is same.
------------------------------------------------
  * audio
    Stream '8b32a917d381c3871e1e3b65910f28d1/001'
    caps  : audio/mpeg, mpegversion=(int)4, ...
    It is configured in parsebin0(qtdemux1) and parsebin0:src_1 is exposed.
------------------------------------------------

: At that time, old Input Stream is removed and new Input Stream is created.
And new Input Stream is connected MQ's slot as well.
Because, buffer is probed in DecodebinInput's pending pads(parsebin0:src_1) for
audio.

  2-1) <parsebin0:src_0> receive EOS event.
  2-2) <parsebin0:src_1> receive a buffer.
  2-3) <parsebin0:src_0> pad removed.
  2-4) Input Stream(3413b58d3355261af6f2acc9fea088dc/001)removed.
  2-5) New input Stream(8b32a917d381c3871e1e3b65910f28d1/001) created.
  2-6) New input Stream is linked to MQ's slot.

3) Third Stream (1-audio and 1-video)
: Just audio stream is changed. Video is same.
------------------------------------------------
  * audio
    Stream '48d9544b186a7530ac2380e02a4bf759/001'
    caps  : audio/mpeg, mpegversion=(int)4, ...
    It is configured in parsebin0(qtdemux1) and parsebin0:src_2 is exposed.
------------------------------------------------

: At that time, old Input Stream is removed and MQ's Output Stream is removed
abnormally by EOS event.
Because, buffer is probed in DecodebinInputStream->srcpad(parsebin1:src_0) for
video.
Then, it removed other's DecodebinInputStream and MQ's Output Stream.

  3-1) <parsebin1:src_0> receive a buffer.
  3-2) <parsebin0:src_1> receive EOS event.
  3-3) Input Stream(8b32a917d381c3871e1e3b65910f28d1/001) removed.
  3-4) <parsebin0:src_1> pad removed.
  3-5) New input Stream(48d9544b186a7530ac2380e02a4bf759/001) it not created.
  3-6) Sends EOS event to MQ's slot and MQ's Output Stream is removed.

I think that a DecodebinInput does not involve other's DecodebinInput.

Please review my problem and let me know if you have any of questions or
opinions.
And check my patch is acceptable or not.

Thanks.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list