[Android] problem with egladaption/eglglessink on some devices/emulator and fatal error

distran distran.sensors at gmail.com
Wed Oct 16 11:58:10 CEST 2013


Hey all.

I am a getting to know GStreamer. I was trying to develop a simple Android
application that would receive a network stream generated on Desktop pc. I
got stuck in displaying simple video (e.g. videotestsrc) on some of my
Android devices and I have no clue where to go next.

First the description of my setup. For development I am using Nexus 10
(Android 4.3, API 18), Android emulators (different API's, tested on API's
9, 10, 16, 17) and a phone LG-P990 (Android 2.3.4, API 10). I develop on
Ubuntu 13.04 (64 bit) and I am using Android NDK r9 (newest one). I was
trying to run tutorial 3 from the website
(http://docs.gstreamer.com/display/GstSDK/Android+tutorial+3%3A+Video) using
two GStreamer SDK's:
- GStreamer SDK 2013.6 (Congo, avalible at
http://cdn.gstreamer.com/android/arm/gstreamer-sdk-android-arm-debug-2013.6.tar.bz2)
- GStreamer 1.2 (newest one, avalible at
http://gstreamer.freedesktop.org/data/pkg/android/1.2.0/gstreamer-1.0-android-arm-1.2.0-debug.tar.bz2)

Of course, running tutorial 3 using GStreamer 1.2 required some minor
changes in code:
- Android.mk:
	change GSTREAMER_SDK_ROOT to GSTREAMER_ROOT, so that it fits the variable
defined at gstreamer-1.0.mk
	change gstreamer.mk to gstreamer-1.0.mk and gstreamer-video-0.10 to
gstreamer-video-1.0 (and also remove interfaces)
- tutorial-3.c
	change #include <gst/interfaces/xoverlay.h> to #include
<gst/video/videooverlay.h>
	change all occurences of "x_overlay" string to "video_overlay"
        change ffmpegcolorspace to videoconvert

Taking into consideration those changes, I was able to run demos on LG-P990
phone (Android 2.3.4), but I was not able to make it work neither on Nexus
10 nor any of emulators. I get different errors from Nexus and from
emulators, but I feel the origin of those errors is the same. 

>From what I inferred, the problem is connected with creating the surface to
display video. In both cases (emulator and Nexus 10) the error is generated
after invoking nativePause() in Tutorial3.java - line 108 (which invokes
gst_native_pause of tutorial-3.c line 247, where gst_element_set_state
(data->pipeline, GST_STATE_PAUSED) function is invoked).

Function gst_element_set_state (data->pipeline, GST_STATE_PAUSED) is being
succesfully invoked and afterwards the error appears. Here is the part of
log from Emulator where error occurs (full log listed at the end of the
post):


and below there is part of the log where error happens on Nexus device (full
log listed below):


An error on Emulator from GStreamer1.2 is slightly different (more elements
report) but apart from some more warnings the same errors appear.

Could any of you reproduce such error, or happened to see it before? Do you
have any advice on how to proceed further (my aim is to get in running on
Nexus 10 device, and running on emulator would be also nice). I have tried
to research problem on the internet, but I couldn't find any information
concerning those errors.

Thanks in advance for your help!

Regards,
Michal


Full log for Emulator:


Full log from Android device:




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Android-problem-with-egladaption-eglglessink-on-some-devices-emulator-and-fatal-error-tp4662621.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list