2015-08-08 16 views
5

Tôi nhận được trên logcat lỗi tiếp theo trong khi mã hóa thông qua MediaCodec trong Android.MediaCodec đang đưa ra một cửa hàngMetaDataInBuffers lỗi theo dõi

Mã hóa thực tế hoạt động tốt và đầu ra được tạo chính xác, vì vậy tôi không thể hiểu tại sao tôi nhận được dấu vết này. Nó là một dấu vết lỗi vô hại, hay có cái gì đó tôi đang thiếu?

E/ACodec (6438): [OMX.qcom.video.encoder.h263] storeMetaDataInBuffers (đầu ra) thất bại w/err -1010

Tiếp theo là mã nơi tôi nhận được dấu vết

final int BIT_RATE   = 4000000; 
final int FRAME_RATE  = 30; 
final int IFRAME_INTERVAL = 5; 
final String MIME_TYPE  = "video/avc"; 

final MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, width, height); 
format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); 
format.setInteger(MediaFormat.KEY_BIT_RATE, BIT_RATE); 
format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE); 
format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL); 

MediaCodec encoder = MediaCodec.createEncoderByType(MIME_TYPE); 

//--------------------------------- 
// NEXT LINE PRODUCES THE TRACE 
encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); 
//--------------------------------- 

Trả lời

3

Vô hại, hầu hết các thiết bị đều hiển thị thông tin này. Xem Q12 tại http://bigflake.com/mediacodec/.

Điều này chỉ cho biết cách mã hóa bề mặt tín hiệu đầu tiên không được bộ mã hóa hỗ trợ, do đó, nó đã sử dụng một số cách khác để thiết lập mã hóa. (Có nhiều cách cho lớp MediaCodec/ACodec để cho bộ mã hóa riêng biết về nó.)

3

Câu trả lời trước cho biết cảnh báo là vô hại. Một số thông tin thêm về các log và lý do đằng sau cùng

dấu vết trong nhật ký này được chỉ ra rằng encoder không hỗ trợ storeMetadataInBuffers trên cổng output. Đối với một số encoder, chế độ này có thể được hỗ trợ trên cả hai cổng inputoutput.

Chế độ này được sử dụng cho cổng input để chuyển dữ liệu hình ảnh thô ở định dạng metadata tức là chỉ chuyển tham chiếu đến gralloc xử lý có thể sử dụng theo số encoder để truy cập dữ liệu. Tính năng này được sử dụng bởi các ứng dụng camera và/hoặc các ứng dụng screen recording khác để chuyển tham chiếu đến YUV dữ liệu vào bộ mã hóa.

Chế độ metadata được hỗ trợ cho cổng output cũng cho khả năng đóng gói dữ liệu đầu ra bitstream. Ví dụ: khi phiên Miracast hoặc WiFi-Display đang hoạt động và dữ liệu được mã hóa là an toàn như nội dung trả phí, cần bảo vệ dữ liệu giữa mô-đun mã hóa encoderHDCP, trong đó định dạng metadata trở nên hữu ích. Không nhiều encoder s hỗ trợ chế độ này và do đó, bạn quan sát cảnh báo này.

+0

Sau đó, có bất kỳ cờ cấu hình nào có thể được đặt để tránh dấu vết này hay là dấu vết chỉ mang tính thông tin? – PerracoLabs

+1

@PerracoLabs .. Nó chỉ là thông tin vì nó là một phần của khuôn khổ 'Stagefright'. Tôi nghĩ rằng nó có thể dễ dàng bị bỏ qua. Xin lưu ý rằng cùng một bản in hoạt động cho cả hai cổng 'input' và' output'. Bộ mã hóa nên hỗ trợ chế độ này trên cổng 'đầu vào' để sử dụng tối ưu. – Ganesh

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