From: Nikolay Dimitrov <picmaster@mail.bg>
To: Gary Thomas <gary@mlbassoc.com>, meta-freescale@yoctoproject.org
Subject: Re: imxipuvideosink in 3.10.53 on Nitrogex6xlite
Date: Thu, 21 May 2015 17:40:55 +0300 [thread overview]
Message-ID: <555DEE77.10004@mail.bg> (raw)
In-Reply-To: <555DE7F6.3090205@mlbassoc.com>
Hi Gary,
On 05/21/2015 05:13 PM, Gary Thomas wrote:
> On 2015-05-21 07:53, Gary Thomas wrote:
>> On 2015-05-19 09:09, Carlos Rafael Giani wrote:
>>> It is strange that gtk-play isn't picking this one. Anyway, if you
>>> explicitely pick it, you should have windowed output.
>>
>> I tried forcing this via:
>> gst-launch-1.0 playbin uri=file:///some_file.mp4
>
> Oops, that should be:
> gst-launch-1.0 playbin uri=file:///some_file.mp4
> video-sink=imxeglvivsink
>
> I still need to figure out why playbin doesn't chose this element on its
> own.
You can see which video-sink element was cherry-picked by playbin and
delete (or move it somewhere, just make sure it's not available as .so
in gstreamer plugins dir).
Now repeat this until playbin doesn't have a choice anymore :D.
>> It starts up, then fails with:
>> Setting pipeline to PAUSED ...
>> Pipeline is PREROLLING ...
>> [INFO] Product Info: i.MX6Q/D/S
>> [INFO] bitstreamMode 1, chromaInterleave 0, mapType 0,
>> tiled2LinearEnable 0
>> CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.09.00_CORTEX-A8 build on Jun
>> 19 2014 18:30:32.
>> Attempt to unlock mutex that was not locked
>>
>> Using GDB, I tracked this down to
>> #4 0xb685d318 in gst_imx_egl_viv_sink_egl_platform_expose
>> (platform=0xa93ff460)
>> at ../src/eglvivsink/egl_platform_x11.c:497
>>
>> The code in question looks pretty simple:
>> gboolean
>> gst_imx_egl_viv_sink_egl_platform_expose(GstImxEglVivSinkEGLPlatform
>> *platform)
>> {
>> EGL_PLATFORM_LOCK(platform);
>> gst_imx_egl_viv_sink_egl_platform_send_cmd(platform,
>> GSTIMX_EGLX11_CMD_EXPOSE);
>> EGL_PLATFORM_UNLOCK(platform);
>> return TRUE;
>> }
>>
>> It's failing on the EGL_PLATFORM_UNLOCK() call.
>>
>> I did have some debug messages show up about this time (many of these):
>> mxc_vpu 2040000.vpu: VPU interrupt received.
>> Could this be involved?
>>
>> Any ideas? I'm running this version of that code:
>> git log
>> recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.1.bb
>> commit 1e5f8cea6a779c0dc374cdc3a9a6e2d0bdabbd32
>> Author: Otavio Salvador <otavio@ossystems.com.br>
>> Date: Wed Apr 8 11:39:19 2015 -0300
>>
>>
>>> Am 2015-05-19 um 13:54 schrieb Gary Thomas:
>>>> 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.
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>
next prev parent reply other threads:[~2015-05-21 14:41 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-18 5:34 imxipuvideosink in 3.10.53 on Nitrogex6xlite Paweł Żabiełowicz
2015-05-18 7:48 ` Carlos Rafael Giani
2015-05-18 8:18 ` Nikolay Dimitrov
2015-05-18 12:04 ` Gary Thomas
2015-05-18 12:26 ` Carlos Rafael Giani
2015-05-18 12:33 ` Gary Thomas
2015-05-18 15:55 ` Nikolay Dimitrov
2015-05-18 16:27 ` Gary Thomas
2015-05-18 23:52 ` Nikolay Dimitrov
2015-05-19 10:53 ` Gary Thomas
2015-05-19 11:04 ` Nikolay Dimitrov
2015-05-19 11:08 ` Gary Thomas
2015-05-19 11:11 ` Carlos Rafael Giani
2015-05-19 11:16 ` Nikolay Dimitrov
2015-05-19 11:17 ` Gary Thomas
2015-05-19 11:23 ` Carlos Rafael Giani
2015-05-19 11:54 ` Gary Thomas
2015-05-19 15:09 ` Carlos Rafael Giani
2015-05-19 15:13 ` Gary Thomas
2015-05-19 15:28 ` Nikolay Dimitrov
2015-05-21 13:53 ` Gary Thomas
2015-05-21 14:13 ` Gary Thomas
2015-05-21 14:40 ` Nikolay Dimitrov [this message]
2015-05-21 14:49 ` Nikolay Dimitrov
2015-05-21 14:46 ` Carlos Rafael Giani
2015-05-21 14:52 ` Gary Thomas
2015-05-26 13:50 ` Gary Thomas
2015-05-26 13:59 ` Carlos Rafael Giani
2015-05-26 14:04 ` Gary Thomas
2015-05-26 18:53 ` Carlos Rafael Giani
2015-05-27 12:05 ` Gary Thomas
2015-05-28 6:33 ` Carlos Rafael Giani
2015-05-28 12:11 ` Gary Thomas
2015-05-29 7:06 ` Carlos Rafael Giani
2015-05-29 7:25 ` Carlos Rafael Giani
2015-05-29 13:00 ` Gary Thomas
2015-06-02 15:34 ` Carlos Rafael Giani
2015-06-02 17:11 ` Carlos Rafael Giani
2015-06-02 17:16 ` Gary Thomas
2015-06-02 21:05 ` Carlos Rafael Giani
2015-06-02 21:19 ` Nikolay Dimitrov
2015-06-02 22:10 ` Gary Thomas
2015-06-02 22:17 ` Pushpal Sidhu
2015-06-02 22:33 ` Gary Thomas
2015-06-02 22:42 ` Pushpal Sidhu
2015-05-19 11:10 ` Nikolay Dimitrov
2015-05-19 11:19 ` Gary Thomas
2015-05-19 6:48 ` Paweł Żabiełowicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=555DEE77.10004@mail.bg \
--to=picmaster@mail.bg \
--cc=gary@mlbassoc.com \
--cc=meta-freescale@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.