From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 6195AE009DA; Tue, 19 May 2015 04:54:49 -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.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] Received: from mail.chez-thomas.org (mail.mlbassoc.com [65.100.170.105]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 1979DE009B6 for ; Tue, 19 May 2015 04:54:43 -0700 (PDT) Received: by mail.chez-thomas.org (Postfix, from userid 1998) id DC7A1F811E2; Tue, 19 May 2015 05:54:42 -0600 (MDT) Received: from [192.168.1.114] (zeus [192.168.1.114]) by mail.chez-thomas.org (Postfix) with ESMTP id 3FE71F811E2; Tue, 19 May 2015 05:54:42 -0600 (MDT) Message-ID: <555B248D.2070401@mlbassoc.com> Date: Tue, 19 May 2015 05:54:53 -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: 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> <555B19AA.4010309@gmail.com> <555B1A48.9030303@pseudoterminal.org> <555B1BD6.7090704@mlbassoc.com> <555B1D37.4040300@pseudoterminal.org> In-Reply-To: <555B1D37.4040300@pseudoterminal.org> 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:54:49 -0000 X-Groupsio-MsgNum: 13947 Content-Type: multipart/mixed; boundary="------------030700050502000604080601" --------------030700050502000604080601 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit On 2015-05-19 05:23, Carlos Rafael Giani wrote: > > > Am 2015-05-19 um 13:17 schrieb Gary Thomas: >> On 2015-05-19 05:11, Carlos Rafael Giani wrote: >>> >>>>>> 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... >>>> >>>> All I know is that it does work correctly on other platforms, e.g. a >>>> native x86 (intel-corei7-64), as well as when there are no i.MX plugins >>>> installed, so it's definitely tied to the FSL plugin. >>> >>> The issue here is that the IPU sink does not know anything about windows. It directly overwrites the framebuffer's pixels. One way I am trying out is to create an empty window in >>> the sink and let the IPU overwrite its pixels, but this is not exactly clean, and can cause artifacts. If you want to render to a window, I recommend using the imxeglvivsink >>> instead. In fact, this should be the default one. How did you get the plugins? >> >> Nothing special, I simply included gst1.0-fsl-plugin in my image. >> I'm building my own X based image, which includes these packages: >> gst-player-bin >> gstreamer1.0-libav >> gst1.0-fsl-plugin >> gstreamer1.0-plugins-imx >> > > What do you get when you run "gst-inspect-1.0 imxeglvivsink" ? Output attached. Note: based on my capture of the gstreamer info (.dot), that plugin is not what is being used by gtk-play/gst-play. You can find the .dot file in a previous reply on this thread (yesterday) or I'll send it again if you need. -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ --------------030700050502000604080601 Content-Type: text/plain; charset=UTF-8; name="gst.out" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="gst.out" # gst-inspect-1.0 imxeglvivsink Factory Details: Rank primary + 1 (257) Long-name Freescale EGL video sink Klass Sink/Video Description Video output using the i.MX6 Vivante GPU Author Carlos Rafael Giani Plugin Details: Name imxeglvivsink Description EGL/GLES sink using Vivante direct textures Filename /usr/lib/gstreamer-1.0/libgstimxeglvivsink.so Version 0.10.1 License LGPL Source module gstreamer-imx Binary package Unknown package release Origin URL Unknown package origin GObject +----GInitiallyUnowned +----GstObject +----GstElement +----GstBaseSink +----GstVideoSink +----GstImxEglVivSink Implemented Interfaces: GstNavigation GstVideoOverlay Pad Templates: SINK template: 'sink' Availability: Always Capabilities: video/x-raw format: { I420, YV12, NV12, NV21, UYVY, RGB16, RGBA, BGRA, RGBx, BGRx, BGR, ARGB, ABGR, xRGB, xBGR } width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] Element Flags: no flags set Element Implementation: Has change_state() function: gst_imx_egl_viv_sink_change_state Element has no clocking capabilities. Element has no URI handling capabilities. Pads: SINK: 'sink' Implementation: Has chainfunc(): gst_base_sink_chain Has custom eventfunc(): gst_base_sink_event Has custom queryfunc(): gst_base_sink_sink_query Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default Pad Template: 'sink' Element Properties: name : The name of the object flags: readable, writable String. Default: "imxeglvivsink0" parent : The parent of the object flags: readable, writable Object of type "GstObject" sync : Sync on the clock flags: readable, writable Boolean. Default: true max-lateness : Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited) flags: readable, writable Integer64. Range: -1 - 9223372036854775807 Default: 20000000 qos : Generate Quality-of-Service events upstream flags: readable, writable Boolean. Default: true async : Go asynchronously to PAUSED flags: readable, writable Boolean. Default: true ts-offset : Timestamp offset in nanoseconds flags: readable, writable Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0 enable-last-sample : Enable the last-sample property flags: readable, writable Boolean. Default: true last-sample : The last sample received in the sink flags: readable Boxed pointer of type "GstSample" blocksize : Size in bytes to pull per buffer (0 = default) flags: readable, writable Unsigned Integer. Range: 0 - 4294967295 Default: 4096 render-delay : Additional render delay of the sink in nanoseconds flags: readable, writable Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 throttle-time : The time to keep between rendered buffers (0 = disabled) flags: readable, writable Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 max-bitrate : The maximum bits per second to render (0 = disabled) flags: readable, writable Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 show-preroll-frame : Whether to render video frames during preroll flags: readable, writable Boolean. Default: true fullscreen : Whether or not to set the created window to fullscreen mode (ignored if application provides a window handle) flags: readable, writable Boolean. Default: false force-aspect-ratio : When enabled, scaling will respect original aspect ratio flags: readable, writable Boolean. Default: true native-display : String identifying the display to use (default value uses the default display) flags: readable, writable String. Default: null window-x-coord : X coordinate of the window's top left corner, in pixels flags: readable, writable Integer. Range: -2147483648 - 2147483647 Default: 0 window-y-coord : Y coordinate of the window's top left corner, in pixels flags: readable, writable Integer. Range: -2147483648 - 2147483647 Default: 0 window-width : Window width, in pixels (0 = automatically set to the video input width) flags: readable, writable Unsigned Integer. Range: 0 - 2147483647 Default: 0 window-height : Window height, in pixels (0 = automatically set to the video input height) flags: readable, writable Unsigned Integer. Range: 0 - 2147483647 Default: 0 borderless-window : Disable window borders, bypassing any window manager flags: readable, writable Boolean. Default: false # opkg search /usr/lib/gstreamer-1.0/libgstimxeglvivsink.so gstreamer1.0-plugins-imx-imxeglvivsink - 0.10.1-r0.1 --------------030700050502000604080601--