GStreamer

159 views
Skip to first unread message

Shady

unread,
Aug 12, 2011, 12:55:12 PM8/12/11
to andro...@googlegroups.com

I came across this and according to them it works. Replacing the default player with gstreamer.

http://gstreamer.freedesktop.org/wiki/GstreamerAndroid_InstallInstructions#Build+the+modified+tree

I downloaded the code and managed to get it to compile. I tried my best to change all ARM references to their x86 equivalent (there's a lot of them). The source compiles, the target boots. The player doesn't work.
Most probably because of the hacking i had to do to get the source to compile.
I have little knowledge about the android build process and how Android.mk files work. However, in the hands of someone more experienced, I believe this can be quickly converted to android-x86.
All the glue code that links the gstreamer (GstPlayer) to the android Framework has already been done. 

I got this far in one day's work (with plenty of interruptions)... now to the serious work of getting it to run... 
Some experienced help is needed... anyone willing to jump in on this?

Shady

unread,
Aug 15, 2011, 12:57:32 AM8/15/11
to andro...@googlegroups.com
With a little of tweaking here and there I've managed to get gstreamer to run (although just for mp3 files).
It's working as the default player. Other file formats do not play... probably related the warning message that is showing in logcat " external plugin loader failed"

Inching closer to more satisfying result. At least now I know that it works. Next plugins.

Still waiting for some one to jump in and help with this. Is it only me that is experiencing bad video performance on android-x86????

Shady

unread,
Aug 15, 2011, 11:40:52 AM8/15/11
to andro...@googlegroups.com
More progress.
Audioflingersink and surfaceflingersink definitely working. Managed to play mp3 and ogg files from with in android.. using the file manager.
As for video, managed through the command line to run "gst-launch videotestsrc ! surfaceflingersink", going back to the android gui, and I found the test video overlayed in the top left corner.

Still trying to figure out how to get gstreamer to pick up the plugins.
The "external plugin loader failed" warning is not longer showing. Gstreamer was looking for it at a particular path, however, a symlink to /system/bin sorted it out.
But the system still doesn't load the plugins. The good, the bad and the ugly have been compiled.

Message has been deleted

Shady Rasheed

unread,
Aug 15, 2011, 12:22:09 PM8/15/11
to andro...@googlegroups.com

I'm not familiar with double twist. My concern is video playback mainly on YouTube, or attachments. The frame rate I experience is quite low.
So far gstreamer on android-x86 is looking good. If I reach a dead end, it's good to know there is an alternative.
Thanks for your feedback!!

On Aug 15, 2011 8:10 PM, "tabletsx86" <rbg.tab...@gmail.com> wrote:
> I've been using my phones older version of doubleTwist...and it works
> fine for me...!!!!!!
> --
> You received this message because you are subscribed to the Google Groups "Android-x86" group.
> To post to this group, send email to andro...@googlegroups.com.
> To unsubscribe from this group, send email to android-x86...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/android-x86?hl=en.
>

Chih-Wei Huang

unread,
Aug 15, 2011, 1:06:34 PM8/15/11
to andro...@googlegroups.com
I'm interesting. It's always in my todo list.
But still no time to jump in...
Glad to see you have some progress
that give me more motivation to do it.

2011/8/15 Shady <rashee...@gmail.com>:

--
Chih-Wei
Android-x86 project
http://www.android-x86.org

Shady

unread,
Aug 19, 2011, 2:07:16 PM8/19/11
to andro...@googlegroups.com
Status Update

PLugins are compiling fine. Apparently what's missing is a decoder.
At the moment I'm trying to compile gst-ffmpeg (which is already ported to android arm)

What I find strange, is that it's not part of the build process, although the Android.mk files are there. (It could be that the Android.mk are for an older version of android, but then again... I don't really know how Android.mk files work)

What I tried to do is mimik the Android.mk file found in gst-openmax... this gave some promissing results... until it reached configuring gst-ffmpeg that's when it stopped stating: C compiler unable to create an executable.

In my android.mk files I've set the --host=i686-pc-linux-gnu and the --cross-prefix=i686-pc-linux-gnu-
Which I suspect are wrong. However, they did work for the rest of the gstreamer modules and plugins.

Help is needed and highly appreciated.
If I'm not mistaken, with gst-ffmpeg, we will have a functional gstreamer port to android-x86
Although I suspect, more revisions to the flags used while compiling to make use of all optomisations.

Looking for feedback
-Shady

Shady

unread,
Aug 26, 2011, 2:16:03 PM8/26/11
to andro...@googlegroups.com
Status Update

gst-ffmpeg compiles and works great... with a small but effective set of codecs enabled.
The playback of videos is smooth and WAY much better than when using stagefright. I doubt there's any significant difference from playback performance on ubuntu.
The one problem I encountered, which I know I will not be able to tackle is audio/video sync after seeking. That could be as a result of many possible issues including how the file is encoded.

But nonetheless it works perfectly. Still need to test it on different file formats. However, adding codecs is easy for the most part.

Next on my todo list is libgstsouphttpsrc
I'm half way there, all is needed is to figure out the shared and static libraries that are needed by it (which can be found in the Makefile)
this module is needed to play youtube and any other file from off the internet....

Looking Good so far

Chih-Wei Huang

unread,
Aug 27, 2011, 5:47:59 AM8/27/11
to andro...@googlegroups.com
Thank you for the efforts.

Seems it's the time to merge gstreamer into our repositories.
I'll discuss the details with you later.

2011/8/27 Shady <rashee...@gmail.com>:

--

Shady

unread,
Aug 30, 2011, 6:02:16 PM8/30/11
to andro...@googlegroups.com
Status Update

libgstsouphttpsrc compiled and works. Youtube videos work... however, on HQ videos, although the quality is high, the framerate is very low... not sure if it's from the player or from my video drivers.

Had to compile libsoup, Glib, gmodue, gobject gio, gthread and some other modules for this one to work. But after many hours of tracking linking issues... finally it compiled :-)

Chih-Wei, I need to clean up the .mk Files .. I've also had to modify some of the header and code files for it to compile. What I'm trying to say is upstream gstreamer code will not compile as is and needs to be patched (not so many changes though). Also, some additional packages will be required to compile gstreamer and ffmpeg, such as libtool, autogen, etc...

Next on my todo list is to clean up and document the changes... put all the changes in the source code in #ifdef preprocessors

Chih-Wei Huang

unread,
Sep 21, 2011, 8:53:36 PM9/21/11
to andro...@googlegroups.com
Hi Shady,
I'm beginning to integrate gstreamer.
Do you have anything to share with us?

Shady Rasheed

unread,
Sep 25, 2011, 1:03:28 AM9/25/11
to andro...@googlegroups.com
Hello Chih-Wei
Sorry for the late reply was on a vacation on an island with no internet access.

I can share what I've done to get thing rolling. But I'm new to this, and the result is not clean at all. It builds and it works, but the build process is not automatic. You have to configure some modules first, then build others separately before you can build the image.

What is the best way that I can help with? Should I upload the source code that I have? 

Regards,

--

Chih-Wei Huang

unread,
Sep 25, 2011, 5:23:51 AM9/25/11
to andro...@googlegroups.com
Hi Shady,
I've succeeded to build gstreamer and plugins for x86
based on the GstreamerAndroid_InstallInstructions
at freedesktop.org.
I'm able to play mp3, aac files on gingerbread-x86.

Now I'm trying gst-android and libgstsouphttpsrc.
Could you upload the related source tarball somewhere?
I can provide you some space to upload if you need.


2011/9/25 Shady Rasheed <rashee...@gmail.com>:


> Hello Chih-Wei
> Sorry for the late reply was on a vacation on an island with no internet
> access.
> I can share what I've done to get thing rolling. But I'm new to this, and
> the result is not clean at all. It builds and it works, but the build
> process is not automatic. You have to configure some modules first, then
> build others separately before you can build the image.
> What is the best way that I can help with? Should I upload the source code
> that I have?

Shady Rasheed

unread,
Sep 25, 2011, 6:00:26 AM9/25/11
to andro...@googlegroups.com
I would gladly upload, choose a location or provide me one.

Notes on how I got libgstsouphttpsrc to compile:

Needs libsoup which in turn needs gmodule, glib, gio, gthread and so on... I had to create some Android.mk files for those modules and modify some that came with gstreamer for android.
also, I used the libgstsouphttpsrc source code from another git or project. The one that came with the instructions at freedesktop.org compiles, however shows up as a blacklisted plugin. Reason stated that it is not a valid plugin. So i searched online for source code from another project and compiled it alone and placed the .so in the gstreamer-0.10 folder.

Please let me know where to upload, I will do that later tonight since I don't have access to my linux laptop at the moment.
Regards,
Reply all
Reply to author
Forward
0 new messages