2012-02-22 32 views
5

Tôi đã nâng cấp phiên bản ffmpeg của mình lên lần commit mới nhất và bây giờ tôi có thể thấy rằng giải mã âm thanh funciton avcodec_decode_audio3 đã không được dùng nữa và khi tôi sử dụng chức năng mới avcodec_decode_audio4, theo những thay đổi cần thiết, tôi nhận được lỗi nhưLỗi bộ đệm trong avcodec_decode_audio4()

[amrnb @ 003a5000] get_buffer() failed.

tôi không thể tìm thấy những gì gây ra lỗi này. Bất cứ ai cũng có một ví dụ mẫu của usng chức năng mới này:

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

+1

Tôi gặp vấn đề tương tự với tệp AAC. Bạn đã tìm ra một giải pháp cuối cùng? – lynnard

Trả lời

3

Kiểm tra decoding_encoding.c ví dụ từ nguồn ffmpeg. Nó sử dụng hàm avcodec_decode_audio4.

+0

Cảm ơn tôi đã sử dụng cùng một ví dụ và chỉ đơn giản là sao chép dán mã từ này và vẫn len đến như -22 và nó trả về lỗi như get_buffer() thất bại. – NitinG

+0

Loại phương tiện này là gì? Bạn có thể giải mã nó bằng ffmpeg, hoặc chơi trong ffplay không? –

+1

âm thanh amr_nb của nó. Tôi đã giải mã thành công với phiên bản trước của ffmpeg với chức năng audio3. Ngoài ra, tôi đã thử sử dụng các cửa sổ nhị phân mới nhất của ffmpeg và tôi có thể giải mã và phát âm thanh đã giải mã. Vấn đề này là đến chỉ khi tôi cố gắng giải mã với chức năng audio4 trong ứng dụng của tôi cho cùng một phương tiện truyền thông. – NitinG

Các vấn đề liên quan