<div dir="ltr">Hi, all... I want to try ffmpeg hw accelerate with libstagefright_h264 for android device.<div>Seems that the source code has a little bit old with ffmpeg 2.2.1 and android 4.2.2.</div><div>So I try to update the source code but when I only write just a little code like following:</div>
<div><br></div><div><div>struct FFSource : public MediaSource {                                                                                   </div><div>    virtual status_t start(MetaData *params) { return -1; }                      </div>
<div>    virtual status_t stop() { return -1; }                                        </div><div>    virtual sp<MetaData> getFormat() { return sp<MetaData>(); }                  </div><div>    virtual status_t read(                                                                                               </div>
<div>            MediaBuffer **buffer, const ReadOptions *options) { return -1; }     </div><div>};</div></div><div><br></div><div><div>static av_cold int Stagefright_init(AVCodecContext *avctx)                                                            </div>
<div>{                                                                                                                        </div><div>    av_log(avctx, AV_LOG_ERROR, "In function: %s\n", __FUNCTION__);                                                      </div>
<div>    FFSource *decoder;                                                                                                   </div><div>    sp<MediaSource> mediaSource;</div><div>                                                                                                                         </div>
<div>    decoder = new FFSource();                                                        </div><div>    return -1;</div><div>}</div></div><div><br></div><div>it tells me like following when I run the code:</div><div>     cannot locate symbol "_ZTIN7android11MediaSourceE" referenced by "libavcodec-55.so"...</div>
<div><br></div><div>And I the result show the nm command for libavcodec-55.so:</div><div><br></div><div>[cxm@ubuntu ffmpeg-2.2.1.lsc]$nm ./libavcodec/libavcodec.so  | grep Source</div><div><br></div><div>003a31a8 t _ZN7android11MediaSource10setBuffersERKNS_6VectorIPNS_11MediaBufferEEE</div>
<div>003a319c t _ZN7android11MediaSource5pauseEv</div><div>         U _ZN7android11MediaSourceC2Ev</div><div>         U _ZN7android11MediaSourceD0Ev</div><div>         U _ZN7android11MediaSourceD1Ev</div><div>         U _ZN7android11MediaSourceD2Ev</div>
<div>003a31d0 t _ZN8FFSource4readEPPN7android11MediaBufferEPKNS0_11MediaSource11ReadOptionsE</div><div>003a31bc t _ZN8FFSource4stopEv</div><div>003a31b4 t _ZN8FFSource5startEPN7android8MetaDataE</div><div>003a31c4 t _ZN8FFSource9getFormatEv</div>
<div>003a3340 t _ZN8FFSourceD0Ev</div><div>003a32e0 t _ZN8FFSourceD1Ev</div><div>007b29f0 d _ZTC8FFSource0_N7android11MediaSourceE</div><div>007b29e0 d _ZTI8FFSource</div><div><b>         U _ZTIN7android11MediaSourceE</b></div>
<div>006ac028 r _ZTS8FFSource</div><div>007b2970 d _ZTT8FFSource</div><div>         U _ZTv0_n12_N7android11MediaSourceD0Ev</div><div>         U _ZTv0_n12_N7android11MediaSourceD1Ev</div><div>003a3330 t _ZTv0_n12_N8FFSourceD0Ev</div>
<div>003a32d0 t _ZTv0_n12_N8FFSourceD1Ev</div><div>007b2980 d _ZTV8FFSource</div><div><br></div><div>Also I cannot find _ZTIN7android11MediaSourceE in libstagefright.so. I think there's any mistake I have in writing the source code instead of mis-link the stagefright library.</div>
<div>Please help about this topic. Thanks very much.</div></div>