Play raw mpeg 2 video stream over the network

ByoungSoon Lee l22bss at gmail.com
Fri Nov 2 07:25:15 PDT 2012


Hi, I successfully play a raw video-data-only file (mpeg 2 file without
container format) using appsrc with help of Tim.
(
http://lists.freedesktop.org/archives/gstreamer-devel/2012-October/037737.html
 )

Now, I try to play this over the network.

A tcp server can read this raw video file and send chunked data (with
loop) when a client connects to server.
It's just a different version of local file play. In this case, reading a
local file is replaced with receiving data
from the remote server.

On client side, there's a main thread which creates receive/send thread and
a receive thread call/create
gstreamer loop.

My problem is when the gstreamer loop starts, only gstreamer loop goes on
but tcp receive thread loop seems to stop working.
So, I changed to create thread which calls gstreamer loop, but I still got
"need-data" signal only and no tcp receive thread message.

Q1. How can I get both tcp receive thread data and gstreamer signal?
Q2. Currently I put received data from tcp into buffered queue, and take
those data from queue and inject them to appsrc
       when "need-data" signal occurred. It seems that there's much load to
put stream data into buffered queue.
       Is there any better way to do this, i.e., feed stream data into
appsrc?
      ( http://www.digipedia.pl/usenet/thread/16990/59/ )

Any guide or suggestions would be appreciated.

There're more basic questions.
Q3. What is depayloader in rtp pipeline? Do I need depayloader plugin in my
case?
Q4. Is it multi-thread safe to call gst_init in each thread or should it be
just called once?

Regards,
ByoungSoon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121102/e7db9119/attachment.html>


More information about the gstreamer-devel mailing list