2012-02-22 22 views
5

मैंने अपने ffmpeg संस्करण को नवीनतम प्रतिबद्धता में अपग्रेड कर दिया है और अब मैं देख सकता हूं कि ऑडियो डिकोडिंग funciton avcodec_decode_audio3 को बहिष्कृत कर दिया गया है और जब मैं नए फ़ंक्शन avcodec_decode_audio4 का उपयोग करता हूं, इसमें आवश्यक परिवर्तनों के अनुसार, मैं के रूप मेंavcodec_decode_audio4 में बफर त्रुटि()

[amrnb @ 003a5000] get_buffer() failed.

त्रुटि मिलती है कि मैं क्या इस त्रुटि का कारण बनता है ढूँढने में सक्षम नहीं हूँ।

avcodec_decode_audio4((AVCodecContext *avctx, AVFrame *frame,int *got_frame_ptr, AVPacket *avpkt);

+1

मुझे एएसी फाइलों के साथ एक ही समस्या है। क्या आपने अंत में एक समाधान निकाला है? – lynnard

उत्तर

3

चेक ffmpeg स्रोत से decoding_encoding.c उदाहरण: किसी को भी इस नए समारोह usng का एक नमूना उदाहरण है। यह फ़ंक्शन avcodec_decode_audio4 का उपयोग करता है।

+0

धन्यवाद मैंने एक ही उदाहरण का उपयोग किया है और बस बस इस से कोड चिपकाया है और अभी भी लेन -22 के रूप में आता है और यह त्रुटि देता है क्योंकि get_buffer() विफल हुआ। – NitinG

+0

यह किस प्रकार का मीडिया है? क्या आप इसे ffmpeg से डीकोड कर सकते हैं, या ffplay में खेल सकते हैं? –

+1

इसके amr_nb ऑडियो। मैंने ऑडियो 3 फ़ंक्शन के साथ ffmpeg के पिछले संस्करण के साथ सफलतापूर्वक डीकोड किया है। इसके अलावा, मैंने ffmpeg की नवीनतम विंडोज़ बाइनरी का उपयोग करने का प्रयास किया है और मैं डीकोडेड ऑडियो को डीकोड और प्ले करने में सक्षम हूं। यह समस्या तब आ रही है जब मैं उसी मीडिया के लिए अपने आवेदन में ऑडियो 4 फ़ंक्शन के साथ डीकोड करने का प्रयास करता हूं। – NitinG