Problem when binding Android Surface to glimagesink

Wei Lee wm7101 at gmail.com
Thu May 5 12:52:33 UTC 2016


Hi everyone,

I am new to GStreamer. I am developing an Android app which could play video
using GStreamer. I have a SurfaceTexture to link with video sink on the
GStreamer side. First, I get a Surface from SurfaceTexture and pass it to
the native GStreamer codes just like  this tutorial
<http://docs.gstreamer.com/plugins/viewsource/viewpagesrc.action?pageId=2687065> 
. The differences are that I use GStreamer 1.0 rather than 0.1 and I
modified my pipeline to 

"videotestsrc ! videoconvert ! glimagesink"

for simple testing. However, I cannot see the correct result. All I see is
all blank.

But if I link a Surface which is from a SurfaceView just like the tutorial,
I could see the result correctly.
Also, if I bind the Surface not with GStreamer codes but with Android
MediaPlayer object by setSurface() method of it, the result is fine too.

After using an OpenGL ES Debugger on Android, I found out that when I link
Surface with glimagesink , it will somehow trigger eglCreateContext() and
put data in that Context rather than the original one. I guess that is the
reason why I get blank view. All the data is drawn on a context which is
unseen.

Could anybody give me some hints to fix the problem ?
Many thanks.

Best regards,
Wei



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Problem-when-binding-Android-Surface-to-glimagesink-tp4677346.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list