All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Senyk <thomas.senyk@pelagicore.com>
To: Philip Craig <phil@blackmoth.com.au>
Cc: "meta-freescale@yoctoproject.org"
	<meta-freescale@yoctoproject.org>,
	Otavio Salvador <otavio@ossystems.com.br>,
	Rogerio Nunes <rogerio.nunes@freescale.com>
Subject: Re: QtMultimedia on i.MX6
Date: Wed, 10 Jul 2013 10:26:02 +0200	[thread overview]
Message-ID: <10916628.lYxibBCHga@rudolf> (raw)
In-Reply-To: <CAGaPg5J3vAm=y4FZVgf3Ec89EQh5cSHeWumVDR7it+xctu6rBg@mail.gmail.com>

On Wednesday, 10 July, 2013 10:25:09 Philip Craig wrote:
> On Wed, Jul 10, 2013 at 9:53 AM, Rogerio Nunes <ronunes@gmail.com> wrote:
> > On Tue, Jul 9, 2013 at 4:14 AM, Thomas Senyk <thomas.senyk@pelagicore.com>
> > 
> > wrote:
> > > On Friday, 05 July, 2013 13:16:23 Rogerio Nunes wrote:
> > >> Repository is public now.
> > >> I only have the code from BSP 1.1.0 there yet, but I'll add 4.0.0 this
> > >> afternoon.
> > >> 
> > >> BTW, I still need to update the gst-plugins-gl recipe in the
> > >> meta-fsl-arm layer to point to this repo. It's cleaner than the patch
> > >> we currently have in the recipe.
> > > 
> > > Sounds wonderful!
> > > If something is ready to test, let me know.
> > 
> > Very small change from previous BSP to 4.0.0 in the gst-plugins-gl
> > package:
> > 
> > https://bitbucket.org/Freescale/gstreamer-gst-plugins-gl/commits/1d6c0abf2
> > 17a90e160fd7e4c45f02a23da974130?at=fsl-0.10 I've just sent a patch to the
> > list (awaiting approval as it was big...) to update meta-fsl-arm.
> > 
> > In the bitbucket repo, branch fsl-0.10 has commits that reflect "as is"
> > packages from the BSP.
> > My idea now is to work on branch 0.10 to generate a set of patches that we
> > can upstream.
> > I would appreciate any help.
> 
> I can't speak for upstream, but do note that gstreamer 0.10 is no longer
> maintained, and gst-plugins-gl has recently been updated to 1.0, so it
> might be worth checking if upstream will accept 0.10 patches before working
> on them.

 ... again ... a rather long mail ;)


I kind a gave up on 'glupload' (and therefor on gst-plugins-gl) yesterday 
evening.
It sounded very good at first, but after a while I realized it can't work in 
it's current implementation/API ... it least not without X (which is a no go 
for my in any case)

What I wanted to achieve:
Being able to use textures 'filled' by gst-plugins-gl within Qt's OpenGL 
SceneGraph.

Why IMO it will not work:
glupload has to create it's own EGLContext, for that one needs displays and 
window.
The problem is that the current implementation does that be using the vivante-
linuxfb-API which results in a separated, independent "connection" to the 
display.
This means glupload's "external-opengl-context" is not usable as any provided 
EGLContext will be bound to another display connection (I tried and failed, if 
it's supposed to work but I'm doing something wrong, I'm happy to try again 
with help)

This means you'll never be able to use the generated textures outside of 
gstreamer. ... I think ;)
The only use-case left is to use glimagesink to render to framebuffer directly, 
maybe adding some gstreamer-gl-effects or something.

This is not what I indented to achieve (although I've already marked it as my 
back-up plan and doing it in QtMultimedia is trivial, if someone wants to try 
that solution let me know and I tell you what to change)

To achieve what I want I thing the only viable solution would be to replace 
the "external-opengl-context" with a 'makeGLContextCurrent'-callback ...so 
that the EGLContext can be created and managed by the UI-framework rather then 
the multimedia-framework... but I'm not eager to fiddle around with gst-API ;)



If I'm wrong with any part and it's actually possible to use textures 
generated by gst-plugins-gst outside of gstreamer (without X/other 'windowing 
manager'), I happy to try again if someone has a hint/idea how the stack 
should look like.



In the mean while I have an alternative plan:
The important part the thing is replacing the cpu based texture upload (copy) 
with a vivante-based memory-mapping ('no-copy'/'zero-copy')
Today I'm going try to implement this (using the gst-plugins-gl code as 
reference) within QtMultimedia.


Greets
Thomas






  reply	other threads:[~2013-07-10  8:26 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-04 15:03 QtMultimedia on i.MX6 Thomas Senyk
2013-07-04 15:14 ` Thomas Senyk
2013-07-04 21:42   ` Otavio Salvador
2013-07-04 21:53     ` Sébastien Taylor
2013-07-04 22:03       ` Otavio Salvador
2013-07-05 17:16         ` Rogerio Nunes
2013-07-09  8:14           ` Thomas Senyk
2013-07-09 11:26             ` Otavio Salvador
2013-07-09 23:53             ` Rogerio Nunes
2013-07-10  0:25               ` Philip Craig
2013-07-10  8:26                 ` Thomas Senyk [this message]
2013-07-10  9:13                   ` Philip Craig
2013-07-10  9:52                     ` Thomas Senyk
2013-07-10 10:32                       ` Philip Craig
2013-07-10 10:41                         ` Thomas Senyk
2013-07-10 13:30                           ` Philip Craig
2013-07-11 19:58                             ` Robert Winkler
2013-07-12  8:56                               ` Thomas Senyk
2013-07-15 18:18                                 ` Robert Winkler
2013-07-16  8:15                                   ` Thomas Senyk
2013-07-05 23:04     ` Eric Nelson
2013-07-06  1:52       ` Trevor Woerner
2013-07-06 13:09         ` Otavio Salvador
2013-07-06 17:09           ` Eric Nelson
2013-07-08  7:08             ` Thomas Senyk

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=10916628.lYxibBCHga@rudolf \
    --to=thomas.senyk@pelagicore.com \
    --cc=meta-freescale@yoctoproject.org \
    --cc=otavio@ossystems.com.br \
    --cc=phil@blackmoth.com.au \
    --cc=rogerio.nunes@freescale.com \
    /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.