v4l2 element stay in READY state

Russell danrenjian at gmail.com
Wed Feb 25 02:48:12 PST 2015


Hi,

Sorry, I just came back from holiday, and cannot access that IP camera
during the time.

So here is the entire output of the gst-launch command I run, including
messages output after I interrupt the program by CTRL-C:
http://paste.ubuntu.com/10405963/

And the one with GST_STATES:5
http://paste.ubuntu.com/10405939/

Thanks,
Russell

On Sat, Feb 14, 2015 at 12:23 AM, Chuck Crisler <ccrisler at mutualink.net>
wrote:

> Look through the log starting at the beginning and examine the v4l2sink
> messages. The element is doing something. You might want to also enable
> GST_STATES:5 in the debug log.
>
> 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(*)
>
>
> On Fri, Feb 13, 2015 at 7:59 AM, Sérgio Agostinho <
> sergio.r.agostinho at gmail.com> wrote:
>
>> I would say dump the entire log on pastebin so that we can see it and in
>> the meantime (if you have the option) you can try upgrading to the latest
>> version 1.4.5 to see if the problem persists.
>>
>> Cheers
>>
>>
>> 2015-02-13 13:01 GMT+01:00 Russell <danrenjian at gmail.com>:
>>
>>> 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
>>>>
>>>>
>>>
>>> _______________________________________________
>>> 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/20150225/823c76bd/attachment-0001.html>


More information about the gstreamer-devel mailing list