From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 748FEE009DA; Tue, 19 May 2015 04:18:53 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.1 X-Spam-HAM-Report: * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider * (samoht.yrag[at]gmail.com) * 0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is * CUSTOM_MED * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.9 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing list Received: from mail.chez-thomas.org (mail.mlbassoc.com [65.100.170.105]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 885F4E009B6 for ; Tue, 19 May 2015 04:18:51 -0700 (PDT) Received: by mail.chez-thomas.org (Postfix, from userid 1998) id 448D9F811E3; Tue, 19 May 2015 05:18:51 -0600 (MDT) Received: from [192.168.1.114] (zeus [192.168.1.114]) by mail.chez-thomas.org (Postfix) with ESMTP id 44D84F811E2; Tue, 19 May 2015 05:18:50 -0600 (MDT) Message-ID: <555B1C25.1030707@gmail.com> Date: Tue, 19 May 2015 05:19:01 -0600 From: Gary Thomas User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Nikolay Dimitrov , meta-freescale@yoctoproject.org References: <555979FE.50306@satel.pl> <5559A04D.5080500@mail.bg> <5559D536.5030206@mlbassoc.com> <555A0B81.3090905@mail.bg> <555A130C.9060605@mlbassoc.com> <555A7B5B.90906@mail.bg> <555B1634.9050003@gmail.com> <555B18AB.4080403@mail.bg> <555B1A11.5000500@mail.bg> In-Reply-To: <555B1A11.5000500@mail.bg> Subject: Re: imxipuvideosink in 3.10.53 on Nitrogex6xlite X-BeenThere: meta-freescale@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Usage and development list for the meta-fsl-* layers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 May 2015 11:18:53 -0000 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 2015-05-19 05:10, Nikolay Dimitrov wrote: > > On 05/19/2015 02:04 PM, Nikolay Dimitrov wrote: >> Hi Gary, >> >> On 05/19/2015 01:53 PM, Gary Thomas wrote: >>> On 2015-05-18 17:52, Nikolay Dimitrov wrote: >>>> Ho Gary, >>>> >>>> On 05/18/2015 07:27 PM, Gary Thomas wrote: >>>>> On 2015-05-18 09:55, Nikolay Dimitrov wrote: >>>>>> Hi Gary, >>>>>> >>>>>> On 05/18/2015 03:04 PM, Gary Thomas wrote: >>>>>>> On 2015-05-18 02:18, Nikolay Dimitrov wrote: >>>>>>>> Hi Pawel, >>>>>>>> >>>>>>>> On 05/18/2015 08:34 AM, Paweł Żabiełowicz wrote: >>>>>>>>> Hi all, >>>>>>>>> >>>>>>>>> I'm having some problems running video playback on Nitrogen6x-Lite. >>>>>>>>> I'm >>>>>>>>> using fido with 3.10.53 kernel. Display is running properly as I >>>>>>>>> see a >>>>>>>>> console after start, but starting any simple video with >>>>>>>>> Gstreamer1.0 + >>>>>>>>> gstreamer-imx plugins does not give any video output, even though >>>>>>>>> the >>>>>>>>> decoding looks like it's working. >>>>>>>>> >>>>>>>>> Gstreamer log: >>>>>>>>> gst-launch-1.0 rtspsrc location=rtsp://watch:watch13579 >>>>>>>>> 192.168.7.24:554/profile3/media.smp ! rtph264depay ! imxvpudec ! >>>>>>>>> imxipuvideosink >>>>>>>>> [INFO] Product Info: i.MX6Q/D/S >>>>>>>>> Pipeline is live and does not need PREROLL ... >>>>>>>>> Progress: (open) Opening Stream >>>>>>>>> Progress: (connect) Connecting to >>>>>>>>> rtsp://192.168.7.24:554/profile3/media.smp >>>>>>>>> Progress: (open) Retrieving server options >>>>>>>>> Progress: (open) Retrieving media info >>>>>>>>> Progress: (request) SETUP stream 0 >>>>>>>>> Progress: (request) SETUP stream 1 >>>>>>>>> Progress: (open) Opened Stream >>>>>>>>> Setting pipeline to PLAYING ... >>>>>>>>> New clock: GstSystemClock >>>>>>>>> Progress: (request) Sending PLAY request >>>>>>>>> Progress: (request) Sending PLAY request >>>>>>>>> Progress: (request) Sent PLAY request >>>>>>>>> ^Chandling interrupt. >>>>>>>>> Interrupt: Stopping pipeline ... >>>>>>>>> Execution ended after 0:00:15.125067669 >>>>>>>>> Setting pipeline to PAUSED ... >>>>>>>>> Setting pipeline to READY ... >>>>>>>>> Setting pipeline to NULL ... >>>>>>>>> Freeing pipeline ... >>>>>>>>> >>>>>>>>> Plugins installed: >>>>>>>>> >>>>>>>>> gst-inspect-1.0 | grep imx >>>>>>>>> imxipu: imxipuvideotransform: Freescale IPU video transform >>>>>>>>> imxipu: imxipuvideosink: Freescale IPU video sink >>>>>>>>> imxvpu: imxvpudec: Freescale VPU video decoder >>>>>>>>> imxvpu: imxvpuenc_h263: Freescale VPU h.263 video encoder >>>>>>>>> imxvpu: imxvpuenc_h264: Freescale VPU h.264 video encoder >>>>>>>>> imxvpu: imxvpuenc_mpeg4: Freescale VPU MPEG-4 video encoder >>>>>>>>> imxvpu: imxvpuenc_mjpeg: Freescale VPU motion JPEG video encoder >>>>>>>>> imxg2d: imxg2dvideosink: Freescale G2D video sink >>>>>>>>> imxg2d: imxg2dvideotransform: Freescale G2D video transform >>>>>>>>> imxaudio: imxuniaudiodec: Freescale i.MX uniaudio decoder >>>>>>>>> imxv4l2src: imxv4l2src: V4L2 CSI Video Source >>>>>>>>> imxpxp: imxpxpvideosink: Freescale PxP video sink >>>>>>>>> imxpxp: imxpxpvideotransform: Freescale PxP video transform >>>>>>>>> imxeglvivsink: imxeglvivsink: Freescale EGL video sink >>>>>>>>> >>>>>>>>> While using imxeglvivsink I'm seeing red flash for few milliseconds >>>>>>>>> over >>>>>>>>> the console and that's it. >>>>>>>>> Any advices will be helpful. >>>>>>>> >>>>>>>> Please download this file and try a local file playback, to >>>>>>>> eliminate >>>>>>>> possible networking issues: >>>>>>>> >>>>>>>> https://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4 >>>>>>>> >>>>>>>> Also, please check whether an automatically constructed pipeline is >>>>>>>> able to play the file above: >>>>>>>> >>>>>>>> gst-launch-1.0 playbin uri=file:///sintel_trailer-1080p.mp4 >>>>>>>> >>>>>>>> You can try same tests with Xorg running. >>>>>>> >>>>>>> What would that pipeline look like (to force the result into a window >>>>>>> on the screen)? As is, this simple command takes over the entire >>>>>>> screen. >>>>>> >>>>>> The automatically generated pipeline depends entirely on the media >>>>>> itself and the set of plugins you have installed - playbin/decodebin >>>>>> and friends are looking at the stream properties and searching for the >>>>>> plugin with the highest rank which can be plugged there. The best >>>>>> place >>>>>> to look at is usually the media graphs (.dot files) after playbin was >>>>>> able to play something (I do this regularly, as my pipelines are >>>>>> usually worse than the ones created by playbin). >>>>> >>>>> I tried interpreting these files and since I don't do it all the time >>>>> (like you)it was hard for me to see the whole picture. Is it possible >>>>> to look at such a graph and write something equivalent that could be >>>>> run via gst-launch? >>>>> >>>>> Here's my graph in case you can make any sense of it. >>>> >>>> Not sure that the following will help much, but at least I can share >>>> what I know, so we can be in the same boat... >>>> >>>> Please look at the demuxer (qtdemux0), notice that the lower 2 source >>>> pads are denoted with dashed lines, which means these pads are dynamic, >>>> e.g. doesn't exist all the time (there are more components with dynamic >>>> pads in this pipeline). >>>> >>>> What happens is that after playback start, the demuxer only consumes >>>> data for a while and doesn't have any output pads. When the demuxer >>>> understands what logical streams are carried over the transport, it >>>> dynamically creates a number of source pads, one for each supported >>>> content type (usually for video/audio/subs, but can be more). >>>> >>>> When the demuxer's dynamic pads are created, the pipeline emits events, >>>> and the parent element (decodebin0) catches these events, looks for >>>> appropriate decoding elements, and attaches them to the pipeline >>>> dynamically. >>>> >>>> The trouble with these dynamic pipelines is that you can't refer to the >>>> source/sink pads of the elements before the pipeline is created, which >>>> means you can't construct a working dynamic pipeline from the command >>>> line. I looked how to do this, but couldn't find a solution. If someone >>>> knows how to do this, would be great to share. >>>> >>>> So the only way I know to create fully custom dynamic pipelines (e.g. >>>> driven by the content) is via source code, otherwise we have to use >>>> automated bins like playbin/decodebin, and give them some parameters. >>> >>> Thanks for the explanation, perhaps it can help someone fix this. My >>> guess is that the FSL plugin doesn't handle those dynamic elements and >>> thus is not equipped to set up the render in the appropriate window on >>> the screen. >>> >>>> >>>>> >>>>>> >>>>>> Also the full-screen behavior depends the videosink configuration, so >>>>>> hard to give universal answer, as none will fit all cases. >> >> I doubt that the issue is caused exactly by the GstImxVpuDec or >> GstOverlaySink, as by looking at your pipeline they seem to have static >> pads. So it's more of how the playbin/decodebin bins handle the pipeline >> creation process... > > > Sorry for this, icedove sent my mail by displaying a pop-up dialog > while I was pressing Enter for a new line... > > Here's a small trick - you can hint playbin about what video sink > element you want to use, regardless of the element ranks and > capabilities: > > gst-launch playbin uri=file:///test.mp4 video-sink="myvideosink option=value" > > So you can enforce you video sink preferences even on automated > pipelines. Sadly, I'm not sure how to make this happen when the command in question is hiding behind various wrappers (e.g. gtk-play)