3

I have developed a custom decoder as part of my final project. My decoder accepts .steve files now I want to integrate my decoder with android framework.

I have researched a lot in this matter and one of the useful links I found is here. Android: How to integrate a decoder to multimedia framework

The problem I am facing is I don't want compile a whole android source code to integrate a my decoder. I want to create an app with .apk file which can recognize .steve files and play the video. So that anyone who wants to my test my app can directly install my apk in there phone rather than to compile the source code and then apk can be easily distributed in my grad school to test my decoder.

Community
  • 1
  • 1
Steve
  • 115
  • 10
  • 1
    @steve.. If your decoder is not one of the standard formats like `H.264`, `MPEG4` etc, then I am not sure if you can integrate this new codec without modification to native layer or rather the framework code. You will have to introduce some changes for supporting the `MIME` type of the new codec atleast, assuming that your `apk` i.e. application can make use of `MediaCodec` interface. Is my understanding of your codec correct? – Ganesh Mar 03 '14 at 14:23
  • 1
    @Ganesh, My decoder is based on HEVC reference decoder. Only the algorithms relating to my research have been changed accordingly and now I want my to decoder to play with framework. Ganesh your link was very useful to me, can you suggest me any other alternatives where I can add my source and include and integrate it using any framework without requiring it to compile the entire source code. – Steve Mar 04 '14 at 07:29
  • 1
    @steve.. If your codec is `HEVC`, then we have to consider one aspect. Current android doesn't support `HEVC` yet. In this scenario, the framework has to be updated to suppport `HEVC` mimetype and take care of the initializations thereof. If `Stagefright` framework supported the registration of `HEVC`, then I could think of one solution: Your `apk` consists of a `libhevc...so` which is copied to `/system/lib` and your application could be based of `MediaCodec` interface. – Ganesh Mar 04 '14 at 08:42
  • This way you can build a player for your codec without any additional changes in `AOSP` sources – Ganesh Mar 04 '14 at 08:47
  • 1
    @Ganesh, Thanks for your kind reply. At present HEVC is not supported in android, even if I copy my libhevc...so to /system/lib that will again require changes in framework. Here is a link to some interesting stuff http://www.xhevc.com/resource/Strongene_Lentoid_HEVC_Decoder_Android_2014_02_25_17_31_27.tar.gz You can just download there apk or you can directly export there project to eclipse. I have been trying to replicate the same from past few weeks, with no luck. – Steve Mar 04 '14 at 10:12
  • 1
    Here they have player which goes into the tablet/ Smartphones and can decode HEVC videos without any change in framework. I am new to android I was not able to figure this out, since you are well experienced in android framework you might get a better prespective(They have aswell used ffmpeg). – Steve Mar 04 '14 at 10:12
  • let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/48945/discussion-between-steve-and-ganesh) – Steve Mar 04 '14 at 10:14

1 Answers1

0

You cannot integrate custom codec to whole multimedia layer by just installing apk. To do so you have to recompile your own modified firmware. Which is complicated and not applicable for production (you cannot force everybody to install your Android OS version).

But you can develop your own multimedia player which will contain custom codec support (like MXPlayer app or any other). And then in manifest of your app you can mark support of this custom format (.steve), so Android will knew this app can handle this format.

dasar
  • 5,321
  • 4
  • 24
  • 36