v4l2 element stay in READY state

Russell danrenjian at gmail.com
Thu Feb 12 01:58:04 PST 2015


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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150212/5b05232d/attachment-0001.html>


More information about the gstreamer-devel mailing list