qtdemux - unable to locate moov atom

Sebastian Dröge sebastian at centricular.com
Fri Dec 23 15:05:56 UTC 2016


On Thu, 2016-12-22 at 21:33 -0800, amitchawla wrote:
> Hi Sebastian,
> 
> Thanks for your reply. It would be nice if you could put some light on the
> following - please correct me if I am wrong,
> 
> 1) What is the concept of PUSH mode and PULL mode at the lowest level of
> implementation ? As I understand, PUSH mode transport means that the src pad
> (upstream element) is executing the loop thread

Correct. PUSH means that upstream runs a thread and just pushes data
downstream, PULL means that this element runs a thread and pulls data
from upstream instead.

> and the smooth flow of
> buffers depends on the SRC element (TCPSERVERSRC in my case) receiving the
> data from the network on time. Can TCPSERVERSRC operate in PULL mode ? Will
> that mean I have to make it seekable to operate in PULL mode?

As mentioned before, tcpserversrc can't do that. It can neither run in
PULL mode (in a meaningful way), nor can it provide any seeking
capabilities. You have to implement an actual protocol on top of TCP
for this.


> 2) PULL mode means that the streaming thread (loop thread) is implemented
> not by the SRC element but by a downstream element. So the onus of smooth
> flow is on the downstream element (like QTDEMUX in my case) to be able to
> pull the data from the SRC and pass it downstream. Is my understanding
> correct?

Yes

> 3) Can Gstreamer pipeline operate PULL mode in case of network streaming?

Yes, together with the downloadbuffer / queue2 elements that also
happens relatively often. In that case the source runs in PUSH mode,
but queue2 converts it into PULL mode.

In theory also network source elements themselves can work in PULL
mode, but generally it does not make sense as these protocols generally
work more in a PUSH way. You get data and don't request it block for
block.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161223/f088c322/attachment.sig>


More information about the gstreamer-devel mailing list