gstreamer-android Digest, Vol 14, Issue 1

Anees Alappat aneesalappatt at gmail.com
Fri Aug 3 01:53:22 PDT 2012


Hi,

I tried to play mpeg/mp4 files as an Application using eclipse environment
by loading some of the libraries from Gstreamer. The main limitation is
that it requires both audio sink(audioflinger.so) and video
sink(surfaceflinger.so) to play the files and display it on the screen,
When we tested it on the phone. we are able to hear mp4 audio perfectly but
video is not displayed on screen. This is due to a permission error on
video sink - surfaceflingersink.
08-01 16:11:31.335: W/ServiceManager(1542): Permission failure:
android.permission.ACCESS_SURFACE_FLINGER from uid=10076 pid=15466
08-01 16:11:31.335: E/SurfaceFlinger(1542): Permission Denial: can't access
SurfaceFlinger pid=15466, uid=10076

How to resolve this permission error?

Regards
Anees

On Tue, Jul 3, 2012 at 7:23 PM, Anees Alappat <aneesalappatt at gmail.com>wrote:

> Thanks for your help.
>
> We tried to write a script and used  setenv to set the PATH for
> environment variable but it is not working.
> We tried to call setenv inside gst-launch.c  and also inside the script
> file to set the PATH for the environment variables but it did not work.
> From the JNI layer from the native code from we tried to call the main
> function of the gst-launch.c passing the command line arguments for
> gst-launch command as string variables. Before calling the main function we
> have set all the environment variables using setenv.But still this option
> also didn't work.
>
> This is the code snippet for the caling the gst-launc main function inside
> JNI layer
>
> JNIEXPORT void JNICALL Java_uk_co_videokit_gstreamer_
>>
>> Gstreamer_run(JNIEnv *env, jobject obj, jobjectArray args)
>> {
>>         LOGD("run() called");
>>         int i = 0;
>>         int argc = 0;
>>         char **argv = NULL;
>>         setenv ("GST_REGISTRY",
>> "/data/data/videokit.gstream/cache/registry.bin", 1);
>>         setenv ("GST_PLUGIN_PATH", "/data/data/videokit.gstream/lib", 1);
>>         setenv ("LD_LIBRARY_PATH", "/data/data/videokit.gstream/lib",1);
>>         setenv ("PATH", "/data/data/videokit.gstream/bin",1);
>>         setenv
>> ("GST_PLUGIN_SCANNER","/data/data/videokit.gstream/bin/gst-plugin-scanner",1);
>>         setenv
>> ("GST_OMX_CONFIG_DIR","/data/data/videokit.gstream/conf",1);
>>
>>         if (args != NULL) {
>>                 argc = (*env)->GetArrayLength(env, args);
>>                 argv = (char **) malloc(sizeof(char *) * argc);
>>
>>                 for(i=0;i<argc;i++)
>>                 {
>>                         jstring str =
>> (jstring)(*env)->GetObjectArrayElement(env, args, i);
>>                         argv[i] = (char *)(*env)->GetStringUTFChars(env,
>> str, NULL);
>>                                   }
>>         }
>>
>>         LOGD("run passing off to main()");
>> main(argc,argv);
>> }
>>
>>
>>
>> Regards
>> Anees
>>
>>
>
> On Tue, Jul 3, 2012 at 7:13 PM, Anees Alappat <aneesalappatt at gmail.com>wrote:
>
>> Thanks for your help.
>>
>> We tried to write a script and used  setenv to set the PATH for
>> environment variable but it is not working.
>> We tried to call setenv inside gst-launch.c  and also inside the script
>> file to set the PATH for the environment variables but it did not work.
>> From the JNI layer from the native code from we tried to call the main
>> function of the gst-launch.c passing the command line arguments for
>> gst-launch command as string variables. Before calling the main function we
>> have set all the environment variables using setenv.But still this option
>> also didn't work.
>>
>> This is the code snippet for the caling the gst-launc main function
>> inside JNI layer
>>
>> JNIEXPORT void JNICALL Java_uk_co_videokit_gstreamer_Gstreamer_run(JNIEnv
>> *env, jobject obj, jobjectArray args)
>> {
>>         LOGD("run() called");
>>         int i = 0;
>>         int argc = 0;
>>         char **argv = NULL;
>>         setenv ("GST_REGISTRY",
>> "/data/data/videokit.gstream/cache/registry.bin", 1);
>>         setenv ("GST_PLUGIN_PATH", "/data/data/videokit.gstream/lib", 1);
>>         setenv ("LD_LIBRARY_PATH", "/data/data/videokit.gstream/lib",1);
>>         setenv ("PATH", "/data/data/videokit.gstream/bin",1);
>>         setenv
>> ("GST_PLUGIN_SCANNER","/data/data/videokit.gstream/bin/gst-plugin-scanner",1);
>>         setenv
>> ("GST_OMX_CONFIG_DIR","/data/data/videokit.gstream/conf",1);
>>
>>         if (args != NULL) {
>>                 argc = (*env)->GetArrayLength(env, args);
>>                 argv = (char **) malloc(sizeof(char *) * argc);
>>
>>                 for(i=0;i<argc;i++)
>>                 {
>>                         jstring str =
>> (jstring)(*env)->GetObjectArrayElement(env, args, i);
>>                         argv[i] = (char *)(*env)->GetStringUTFChars(env,
>> str, NULL);
>>                                   }
>>         }
>>
>>         LOGD("run passing off to main()");
>> main(argc,argv);
>> }
>>
>>
>>
>> Regards
>> Anees
>>
>>
>> On Tue, Jul 3, 2012 at 10:11 AM, Anees Alappat <aneesalappatt at gmail.com>wrote:
>>
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: <gstreamer-android-request at lists.freedesktop.org>
>>> Date: Tue, Jul 3, 2012 at 12:30 AM
>>> Subject: gstreamer-android Digest, Vol 14, Issue 1
>>> To: gstreamer-android at lists.freedesktop.org
>>>
>>>
>>> Send gstreamer-android mailing list submissions to
>>>         gstreamer-android at lists.freedesktop.org
>>>
>>> To subscribe or unsubscribe via the World Wide Web, visit
>>>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-android
>>> or, via email, send a message with subject or body 'help' to
>>>         gstreamer-android-request at lists.freedesktop.org
>>>
>>> You can reach the person managing the list at
>>>         gstreamer-android-owner at lists.freedesktop.org
>>>
>>> When replying, please edit your Subject line so it is more specific
>>> than "Re: Contents of gstreamer-android digest..."
>>>
>>>
>>> Today's Topics:
>>>
>>>    1. gstreamer running on Android app? (Anees Alappat)
>>>    2. Re: gstreamer running on Android app? (Enrique Oca?a Gonz?lez)
>>>
>>>
>>> ----------------------------------------------------------------------
>>>
>>> Message: 1
>>> Date: Mon, 2 Jul 2012 17:42:15 +0530
>>> From: Anees Alappat <aneesalappatt at gmail.com>
>>> To: gstreamer-android at lists.freedesktop.org
>>> Subject: gstreamer running on Android app?
>>> Message-ID:
>>>         <
>>> CAJYLsdkBszkZzyCPuWuQtO0GMtG4oQGj8u+GggOh3gpuVz_gig at mail.gmail.com>
>>> Content-Type: text/plain; charset="iso-8859-1"
>>>
>>> Hi,
>>> We could succesfully port Gstreamer framework to Android going through
>>> the
>>> link
>>>
>>> http://gstreamer.freedesktop.org/wiki/GstreamerAndroid_InstallInstructions
>>>
>>> Through adb shell, we could run gstreamer commands to view mp4 files as
>>> well as mpegts files using gst-launch command. To view the video/ausio,
>>> we
>>> used audioflingersink as well as surfaceflingersink.
>>> For this purpose, all the gstreamer related environment variables have to
>>> be exported manually through the adb shell.
>>> We would like to run the gst-launch as an application in the Android
>>> phone
>>> without exporting the variables using adb shell. Is there any method for
>>> this?
>>>
>>> I am exporting the following below mentioned environment variables in the
>>> adb shell.
>>>
>>> export LD_LIBRARY_PATH=/data/data/com.android.freedesktop.gstreamer/lib/
>>>
>>> export PATH=/data/data/com.android.freedesktop.gstreamer/bin:$PATH
>>>
>>> export GST_PLUGIN_PATH=/data/data/com.android.freedesktop.gstreamer/lib/
>>>
>>> export
>>>
>>> GST_PLUGIN_SCANNER=/data/data/com.android.freedesktop.gstreamer/bin/gst-plugin-scanner
>>>
>>> export
>>> GST_OMX_CONFIG_DIR=/data/data/com.android.freedesktop.gstreamer/conf/
>>>
>>> export GST_REGISTRY_REUSE_PLUGIN_SCANNER=no
>>>
>>> Thanks & Regards
>>> Anees
>>> -------------- next part --------------
>>> An HTML attachment was scrubbed...
>>> URL: <
>>> http://lists.freedesktop.org/archives/gstreamer-android/attachments/20120702/24f4c169/attachment-0001.html
>>> >
>>>
>>> ------------------------------
>>>
>>> Message: 2
>>> Date: Mon, 2 Jul 2012 15:53:00 +0200
>>> From: Enrique Oca?a Gonz?lez <eocanha at igalia.com>
>>> To: gstreamer-android at lists.freedesktop.org
>>> Subject: Re: gstreamer running on Android app?
>>> Message-ID: <201207021553.00470.eocanha at igalia.com>
>>> Content-Type: Text/Plain;  charset="iso-8859-15"
>>>
>>> On Lunes, 2 de Julio de 2012 14:12:15 Anees Alappat escribi?:
>>>
>>> > For this purpose, all the gstreamer related environment variables have
>>> to
>>> > be exported manually through the adb shell.
>>> > We would like to run the gst-launch as an application in the Android
>>> phone
>>> > without exporting the variables using adb shell. Is there any method
>>> for
>>> > this?
>>>
>>> Maybe some of these suggestions could be useful to you:
>>>
>>> - Writing a wrapper in shell script (eg: gst-launch.sh) that does the
>>> variable
>>> exports before calling the actual gst-launch executable. Execute the
>>> script
>>> invoking /system/bin/sh <script-name>.
>>> - Writing a wrapper C program that does the variable exports using
>>> setenv()
>>> and then exec() the actual executable.
>>> - Modify the gst-launch sources to add the setenv()s there.
>>>
>>> Cheers.
>>>
>>> --
>>> Enrique Oca?a
>>>
>>>
>>> ------------------------------
>>>
>>> _______________________________________________
>>> gstreamer-android mailing list
>>> gstreamer-android at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-android
>>>
>>>
>>> End of gstreamer-android Digest, Vol 14, Issue 1
>>> ************************************************
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-android/attachments/20120803/0bf337ae/attachment.html>


More information about the gstreamer-android mailing list