Hacker News new | past | comments | ask | show | jobs | submit login

Ah, I wish I could port VLC for Ubuntu Phone safely...

But after numerous questions, several mails and IRL contact at tradeshows and conference, I still don't know if I can access the audio output (Pulse) and the video output (either Xv or an OpenGL context).

Their developer website is about HTML5, QML and HTML5 Platform access. If you look closely, you get libcanberra or gstreamer options... But I need lower access... How do I do that?




While native platform access is not officially documented yet, low-level platform access is provided via the platform API (see launchpad.net/platform-api). With the platform API, you are able to easily bootstrap an EGL/GLES2 context, setup input handling, access sensors and location services etc.. As mentioned before, we do not have a complete set of documentation available, yet, but our Qt platform abstraction implementation might be helpful in getting started. EGL context bootstrapping is done in:

  * http://bazaar.launchpad.net/~phablet-team/qtubuntu/trunk/view/head:/src/platforms/base/screen.cc
  * http://bazaar.launchpad.net/~phablet-team/qtubuntu/trunk/view/head:/src/platforms/base/context.cc
  * http://bazaar.launchpad.net/~phablet-team/qtubuntu/trunk/view/head:/src/platforms/base/integration.cc
Surface creation is done here:

  * http://bazaar.launchpad.net/~phablet-team/qtubuntu/trunk/view/head:/src/platforms/base/window.cc
Input handling and callback setup:

  * http://bazaar.launchpad.net/~phablet-team/qtubuntu/trunk/view/head:/src/platforms/ubuntu/ubuntucommon/window.cc
A very simple example can be found here:

  http://bazaar.launchpad.net/~phablet-team/platform-api/trunk/view/head:/src/ubuntu/hybris/tests/test_c_api.cpp#L90
Hope that helps. If not, feel free to jump over to #ubuntu-touch on freenode. My nick is tvoss.


I will join the channel and'll contact you...


I ported MOAI to Ubuntu phone in about an hour. (http://getmoai.com) Underneath the hype, its still a Linux workstation .. so you have access to all the things you need. Access to GL context is available ..


OK. But are you guaranteed that you will get access to GL and Alsa (or pulse) in the released phones?


As guaranteed as any other OS. I am, after all, linking against the built-in libs, which presumably are not there for any reason other than to be linked with ..


I disagree, on iOS and Android, you pretty know what libs will be in the default installation, because it is documented.

But your experience conforts me, I'll work on it soon :)


VLC doesn't even seem to be fully ported to Android yet.


First, that's not true: almost all features are ported.

Then, Android is quite much more far from a Linux desktop stack than an Ubuntu phone. It notably has a different (very broken) libc, pthread implementation and different audio output stack...


Well, it is true...if "almost all" the feature but not all of them are ported, then its not "fully ported".


You want DVD and Blu-Ray playback on Android? Or external cameras?

Porting and shipping all features in the default build are 2 very different things...


I'm not saying it makes sense, but the GP is correct that its not a full port. Also, there are android devices that can take both CD/DVD and eternal cameras, so it isn't too far fetched


Sorry, but we'll have to agree to disagree here. It's like saying the version on Windows is not a full port because there are some plugins missing compared to the Linux version. And vice-versa.

Very little features not possible (mostly because of the OS) can hardly be considered as "not fully ported" as meant by salient.


I've been using the beta[1], it works pretty well. If you live in the US you'll have to grab an apk elsewhere[2].

1: https://play.google.com/store/apps/details?id=org.videolan.v...

2: http://nightlies.videolan.org/build/


When I checked last time, you could ssh to the device and basically use apt-get like on any debian like system.

Not sure if anything is planned to be implemented to actually launch commands, but some people have already found a way to do it using C++ plugins [1].

The last thing to check would be if vlc is able to use the hardware :)

[1] http://askubuntu.com/questions/288494/run-system-commands-fr...


Of course, but that does not guarantee that the requested library/API will be present on the final phone or that you will be allowed to go on the market.

So, if we cannot access (or are forbidden access to) alsa/pulse, OpenGL or OMX, in the final device, this would be just useless work...


Woops, sorry, didn't realize you actually were a vlc developer. I read that like you just wanted to run it on your own device.


Don't worry, my post was not that clear. I am one of the main VLC dev and I've been porting or helping to port on most mobile OSes...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: