problem in setting HW decoder for h264

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rakesh,

The support of libstagefright in csipsimple is not yet something I help 
with because it's not yet stable on ffmpeg side (and also is a private 
API in android). Getting it built requires some time understanding cross 
compilation with private libraries on android and it also comes with 
real limitations. You normally understand these limitations if you are 
able to build and understand the logs and the problem you currently have 
(your problem is about the link with the libstagefright library that is 
not part of android sdk).

Globally video feature is also in early development stage and it's only 
safe to rely on it if you actually understand/learn the code and its 
limitations. That's why it's not yet available as feature for mainstream 
users and why I don't provide developers help on video feature in 
CSipSimple until the work is done to get something fully functional. I 
prefer to focus my efforts on actual dev of the feature rather than 
explaining 100 times the same things about android development and 
compilation. And I also want to let other devs have a real external eyes 
on the code and improve things missing if they have skills to do 
so/understand (and if not, it's not yet time for them to use it).

So to sum up, in your case, if you are not confident with building with 
private api of android, it's not a good idea to use libstagefright 
implementation. It's not reliable on ffmpeg side, not integrated in all 
cases in csipsimple and ... even, will probably not be the solution used 
to benefit video hardware encoding/decoding on android (maybe the 
official API in java or openmax-al api available for encoding/decoding 
will be used).

Also, for questions that are more related to csipsimple more than pjsip 
the csipsimple-dev google group is a better place to ask as will not 
pollute pjsip mailing list feed ;).



On 09/05/2013 09:02, rakesh garg wrote:
> Hi,
>
> I am using CSipSimple code from branch version 1952.
> i took build_ffmpeg file from version 1991 in which HW decoder for 
> h264 support has been added.
>
> when i try to build video plugin using "make VideoLibs" i get the 
> following error:
>
>
>
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `decode_thread(void*)':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:171: 
> undefined reference to `android::MediaBuffer::release()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:165: 
> undefined reference to `android::MetaData::findInt32(unsigned int, int*)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:166: 
> undefined reference to `android::MetaData::findInt32(unsigned int, int*)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:167: 
> undefined reference to `android::MediaBuffer::range_length() const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `Stagefright_decode_frame':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:427: 
> undefined reference to `android::MediaBuffer::data() const'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:439: 
> undefined reference to `android::MediaBuffer::release()'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:360: 
> undefined reference to `android::RefBase::incStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~CustomSource':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:82: 
> undefined reference to `android::MediaBufferGroup::~MediaBufferGroup()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:82: 
> undefined reference to `android::MediaSource::~MediaSource()'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~CustomSource':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:82: 
> undefined reference to `android::MediaBufferGroup::~MediaBufferGroup()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:82: 
> undefined reference to `android::MediaSource::~MediaSource()'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `CustomSource::read(android::MediaBuffer**, 
> android::MediaSource::ReadOptions const*)':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:119: 
> undefined reference to 
> `android::MediaBufferGroup::acquire_buffer(android::MediaBuffer**)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:121: 
> undefined reference to `android::MediaBuffer::data() const'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:122: 
> undefined reference to `android::MediaBuffer::set_range(unsigned int, 
> unsigned int)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:123: 
> undefined reference to `android::MediaBuffer::meta_data()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:123: 
> undefined reference to `android::MetaData::clear()'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `CustomSource::read(android::MediaBuffer**, 
> android::MediaSource::ReadOptions const*)':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:124: 
> undefined reference to `android::MediaBuffer::meta_data()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:124: 
> undefined reference to `android::MetaData::setInt32(unsigned int, int)'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `CustomSource::read(android::MediaBuffer**, 
> android::MediaSource::ReadOptions const*)':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:125: 
> undefined reference to `android::MediaBuffer::meta_data()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:125: 
> undefined reference to `android::MetaData::setInt64(unsigned int, long 
> long)'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `Stagefright_close':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:458: 
> undefined reference to `android::MediaBuffer::release()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:506: 
> undefined reference to `android::MediaBuffer::release()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:511: 
> undefined reference to `android::OMXClient::disconnect()'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `Stagefright_init':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:222: 
> undefined reference to `android::MetaData::MetaData()'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function 
> `android::sp<android::MetaData>::operator=(android::MetaData*)':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:394: 
> undefined reference to `android::RefBase::incStrong(void const*) const'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:395: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `Stagefright_init':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:227: 
> undefined reference to `android::MetaData::setCString(unsigned int, 
> char const*)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:228: 
> undefined reference to `android::MetaData::setInt32(unsigned int, int)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:229: 
> undefined reference to `android::MetaData::setInt32(unsigned int, int)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:230: 
> undefined reference to `android::MetaData::setData(unsigned int, 
> unsigned int, void const*, unsigned int)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:232: 
> undefined reference to `android::ProcessState::self()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:232: 
> undefined reference to `android::ProcessState::startThreadPool()'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `~sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:379: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `sp':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:360: 
> undefined reference to `android::RefBase::incStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `CustomSource':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:84: 
> undefined reference to `android::MediaSource::MediaSource()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:84: 
> undefined reference to `android::MediaBufferGroup::MediaBufferGroup()'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:88: 
> undefined reference to `android::MediaBuffer::MediaBuffer(unsigned int)'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/libavcodec/libstagefright.cpp:88: 
> undefined reference to 
> `android::MediaBufferGroup::add_buffer(android::MediaBuffer*)'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `operator=<CustomSource>':
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:413: 
> undefined reference to `android::RefBase::incStrong(void const*) const'
> /home/ubuntu/workspace/6may/CSipSimple/jni/ffmpeg/ffmpeg_src/./android-source/frameworks/base/include/utils/RefBase.h:414: 
> undefined reference to `android::RefBase::decStrong(void const*) const'
> jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../ffmpeg/build/ffmpeg/armeabi-v7a/lib/libavcodec.a(libstagefright.o): 
> In function `Stagefright_init':
>
>
>
> Kindly respond if anyone has any idea about this.
>
> Thanks,
>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20130509/a0853532/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux