v4l2 element stay in READY state

Russell danrenjian at gmail.com
Fri Feb 13 04:01:13 PST 2015


Hi,

Setting GST_DEBUG did give me much more messages in the output, but I
couldn't find any warning or errors.
Most DEBUG messages are about internals of decodebin, and following is the
last few lines. I get this both through gst-launtch-1.0 and my own c
program:

0:00:02.675222833 10239 0x7f7160002370 DEBUG              decodebin
gstdecodebin2.c:4023:gst_decode_bin_expose:<decodebin0> Exposed everything
0:00:02.675288957 10239 0x7f7160002370 DEBUG               v4l2sink
gstv4l2sink.c:509:gst_v4l2sink_set_caps:<v4l2sink0> caps: video/x-raw,
format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)25/1
0:00:02.676007155 10239 0x7f7160002370 INFO                v4l2sink
gstv4l2sink.c:533:gst_v4l2sink_set_caps:<v4l2sink0> outputting buffers via
mmap()
0:00:02.676039389 10239 0x7f7160002370 DEBUG               v4l2sink
gstv4l2sink.c:587:gst_v4l2sink_propose_allocation:<v4l2sink0> we had a pool
with caps video/x-raw, format=(string)I420, width=(int)1280,
height=(int)720, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)bt709,
framerate=(fraction)25/1
0:00:02.686470601 10239 0x7f7160002370 DEBUG               v4l2sink
gstv4l2sink.c:587:gst_v4l2sink_propose_allocation:<v4l2sink0> we had a pool
with caps video/x-raw, format=(string)I420, width=(int)1280,
height=(int)720, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)bt709,
framerate=(fraction)25/1

Here is my version of gst-launtch and gstreamer if that matters:
gst-launch-1.0 version 1.2.4
GStreamer 1.2.4



On Fri, Feb 13, 2015 at 4:47 AM, Chuck Crisler <ccrisler at mutualink.net>
wrote:

> Also, when you see something that says 'WARNING' or 'ERROR', copy several
> lines around those lines and post them here.
>
> On Thu, Feb 12, 2015 at 3:36 PM, Sérgio Agostinho <
> sergio.r.agostinho at gmail.com> wrote:
>
>> Indeed, follow Chuck's advice and in the meantime make some more
>> experiments.
>>
>> What happens if you try to set all elements to PAUSE and then to PLAY
>> again (once they're linked)? Try to set the rtspsrc and the decodebin to
>> PAUSE before linking the v4l2sink and then set everything to PLAY.
>>
>> Cheers
>>
>> 2015-02-12 20:34 GMT+01:00 Chuck Crisler <ccrisler at mutualink.net>:
>>
>>> It sounds like it is time to crank up logging on the decodebin and
>>> v4l2sink elements to see what is(n't) happening.
>>>
>>> Something like:
>>> export GST_DEBUG=decodebin:5,v4l2sink:5
>>>
>>> This should generate enough messages to understand what is failing.
>>>
>>> On Thu, Feb 12, 2015 at 5:05 AM, Russell <danrenjian at gmail.com> wrote:
>>>
>>>> By the way, target v4l2 device is created by v4l2loopback
>>>> <https://github.com/umlaeute/v4l2loopback>
>>>> Besides, I have output the caps of all pads (static or dynamic) of
>>>> these elements whenever one of them change states. They seem to be fixed at
>>>> the end. That is, (dynamic) src pad of rtspsrc and sink pad of decodebin
>>>> have same fixed caps, and (dynamic) src pad of decodebin and sink pad of
>>>> v4l2sink have same fixed caps. Does that mean the caps negotiation is
>>>> completed?
>>>>
>>>> Thanks,
>>>> Russell
>>>>
>>>> On Thu, Feb 12, 2015 at 5:58 PM, Russell <danrenjian at gmail.com> wrote:
>>>>
>>>>> fakesink works, too.
>>>>> rtspsrc, decodebin and fakesink (as well as the pipeline itself) are
>>>>> all in PLAYING state at the end.
>>>>>
>>>>> Thanks,
>>>>> Russell
>>>>>
>>>>> On Thu, Feb 12, 2015 at 5:46 PM, Russell <danrenjian at gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> autovideosink in code works ok, will give fakesink a try.
>>>>>>
>>>>>> Thanks,
>>>>>> Russell
>>>>>>
>>>>>> On Thu, Feb 12, 2015 at 5:03 PM, Sérgio Agostinho <
>>>>>> sergio.r.agostinho at gmail.com> wrote:
>>>>>>
>>>>>>> Just for completion, do you have the same issue if you replace
>>>>>>> v4l2sink for fakesink and then for an autovideosink *in your code*.
>>>>>>> Trying to understand if this is something specific about the way you're
>>>>>>> connecting v4l2sink or just live sinks in general.
>>>>>>>
>>>>>>> Cheers
>>>>>>> Sérgio
>>>>>>>
>>>>>>> 2015-02-12 7:44 GMT+01:00 Russell <danrenjian at gmail.com>:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Here is how I add and link decodebin and v4l2sink into pipeline:
>>>>>>>>
>>>>>>>>    1. When a new src pad is created for rtspsrc
>>>>>>>>       1. add decodebin to pipeline
>>>>>>>>       2. set decodebin to PLAYING async
>>>>>>>>       3. link src pad of rtspsrc to sink pad of decodebin
>>>>>>>>    2. When a new src pad is created for decodebin
>>>>>>>>       1. add v4l2sink to pipeline
>>>>>>>>       2. set v4l2sink to PLAYING async
>>>>>>>>       3. link src pad of decodebin to sink pad of v4l2sink
>>>>>>>>
>>>>>>>> Eventually, rtspsrc will be PLAYING, decodebin be PAUSED, and
>>>>>>>> v4l2sink be READY.
>>>>>>>>
>>>>>>>> But if I detect state change for decodebin, so what when it move to
>>>>>>>> PAUSED, I set its state to PLAYING asyc again, then eventually decodebin
>>>>>>>> would be in PLAYING state.
>>>>>>>> v4l2sink would always be READY state even if I set its state
>>>>>>>> several times like decodebin.
>>>>>>>>
>>>>>>>> And, If I only did 1 and no 2 as decribed above (that is, without
>>>>>>>> adding and linking for v4l2sink), then both rtspsrc and decodebin would be
>>>>>>>> in PLAYING state.
>>>>>>>>
>>>>>>>>
>>>>>>>> Is there anything else I can try??
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Russell
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Feb 12, 2015 at 9:06 AM, Russell <danrenjian at gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi, Wonchul
>>>>>>>>>
>>>>>>>>> How can I confirm whether v4l2sink receives any buffer, are there
>>>>>>>>> any logs that I can inspect?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Russell
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Feb 11, 2015 at 10:06 PM, Wonchul Lee <chul0812 at gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I guess that v4l2sink didn't receive any buffer.
>>>>>>>>>> Sink element what inherited from basesink will change to PAUSED
>>>>>>>>>> states
>>>>>>>>>> after receiving a buffer for preroll.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-states.txt#n41
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2015-02-11 18:23 GMT+09:00 Sérgio Agostinho <
>>>>>>>>>> sergio.r.agostinho at gmail.com>:
>>>>>>>>>> > Hi Russel,
>>>>>>>>>> >
>>>>>>>>>> > If you do
>>>>>>>>>> >
>>>>>>>>>> > gst-launch-1.0 videotestsrc ! v4l2sink
>>>>>>>>>> >
>>>>>>>>>> > do you see video on your v4l2device? Also, if you do
>>>>>>>>>> >
>>>>>>>>>> > gst-launch-1.0 rtspsrc location=rtspaddress ! decodebin !
>>>>>>>>>> autovideosink
>>>>>>>>>> >
>>>>>>>>>> > Do you see your rtsp video stream playing on a window?
>>>>>>>>>> >
>>>>>>>>>> > Cheers
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > 2015-02-11 7:50 GMT+01:00 Russell <danrenjian at gmail.com>:
>>>>>>>>>> >>
>>>>>>>>>> >> Hi,
>>>>>>>>>> >>
>>>>>>>>>> >> I was trying this pipeline to feed rtsp stream into a v4l2
>>>>>>>>>> virtual
>>>>>>>>>> >> loopback device:
>>>>>>>>>> >> gst-launch-1.0 rtspsrc location=rtspaddress ! decodebin !
>>>>>>>>>> v4l2sink
>>>>>>>>>> >>
>>>>>>>>>> >> Terminal gave this output and stops, and there are no video in
>>>>>>>>>> the v4l2
>>>>>>>>>> >> device:
>>>>>>>>>> >> Progress: (request) Sending PLAY request
>>>>>>>>>> >> Progress: (request) Sending PLAY request
>>>>>>>>>> >> Progress: (request) Sent PLAY request
>>>>>>>>>> >>
>>>>>>>>>> >>
>>>>>>>>>> >> So I am implementing the pipeline in c to see what happened.
>>>>>>>>>> decodebin and
>>>>>>>>>> >> v4l2sink are added and linked on on pad-added event.
>>>>>>>>>> Eventually I found the
>>>>>>>>>> >> v4l2sink element stay in READY state while the other two are
>>>>>>>>>> PLAYING. I have
>>>>>>>>>> >> set v4l2sink to PLAYING asynchronously but the state does not
>>>>>>>>>> change.
>>>>>>>>>> >>
>>>>>>>>>> >> What is the matter here? and where I can find any detailed
>>>>>>>>>> reason why
>>>>>>>>>> >> v4l2sink cannot go to PLAYING state?
>>>>>>>>>> >>
>>>>>>>>>> >> Thanks in advance.
>>>>>>>>>> >>
>>>>>>>>>> >> Sincerely,
>>>>>>>>>> >> Russell
>>>>>>>>>> >>
>>>>>>>>>> >> _______________________________________________
>>>>>>>>>> >> gstreamer-devel mailing list
>>>>>>>>>> >> gstreamer-devel at lists.freedesktop.org
>>>>>>>>>> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>>>>>> >>
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > _______________________________________________
>>>>>>>>>> > gstreamer-devel mailing list
>>>>>>>>>> > gstreamer-devel at lists.freedesktop.org
>>>>>>>>>> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>>>>>> >
>>>>>>>>>> _______________________________________________
>>>>>>>>>> gstreamer-devel mailing list
>>>>>>>>>> gstreamer-devel at lists.freedesktop.org
>>>>>>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> gstreamer-devel mailing list
>>>>>>>> gstreamer-devel at lists.freedesktop.org
>>>>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> gstreamer-devel mailing list
>>>>>>> gstreamer-devel at lists.freedesktop.org
>>>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>>>
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150213/97ccab52/attachment-0001.html>


More information about the gstreamer-devel mailing list