pPrivateData = &output_buffer_number[i];
*pPrivateData = (1 << i);
output_buffer_usage |= *pPrivateData;
+#if 0 // Use OMX_AllocateBuffer()
ErrorCode = OMX_AllocateBuffer(component, &output_buffer_header[i], output_port_def.nPortIndex, pPrivateData, output_port_def.nBufferSize);
- if (ErrorCode != OMX_ErrorNone) {
- printf("Failed to alloc output buffer %u. %s\n", i, OMX_strerror(ErrorCode));
+#else // Use OMX_UseBuffer()
+ OMX_U8 *tmp;
+ tmp = (OMX_U8*)malloc(output_port_def.nBufferSize);
+ if (tmp == NULL) {
+ fprintf(stderr, "Failed to alloc output buffer %u. %s\n", i, OMX_strerror(ErrorCode));
+ exit(0);
+ }
+ ErrorCode = OMX_UseBuffer(component, &output_buffer_header[i], output_port_def.nPortIndex, pPrivateData, output_port_def.nBufferSize, tmp);
+#endif
+ if (ErrorCode == OMX_ErrorNone) {
+ fprintf(stderr, "Okay:prepare_output_buffers:Output buffer %u allocated,%d.\n", i + 1, output_port_def.nBufferSize);
+ }
+ else {
+ fprintf(stderr, "Err:prepare_output_buffers:%d. %s\n", i, OMX_strerror(ErrorCode));
}
}