switch (fourcc) {
case GST_MAKE_FOURCC('S', 'N', '1', '2'):
case GST_MAKE_FOURCC('N', 'V', '1', '2'):
+ case GST_MAKE_FOURCC('S', 'T', 'V', '0'):
return MM_PIXEL_FORMAT_NV12;
case GST_MAKE_FOURCC('S', 'T', '1', '2'):
return MM_PIXEL_FORMAT_NV12T;
RET_VAL_IF(m_packet == NULL, MEDIA_PACKET_FINALIZE, "m_packet is NULL");
RET_VAL_IF(finalize_data == NULL, MEDIA_PACKET_FINALIZE, "finalize_data is NULL");
- if (media_packet_get_tbm_surface(m_packet, &ts) != MEDIA_PACKET_ERROR_NONE)
+ if (finalize_data->info->internal_buffer) {
+ gst_buffer_unref((GstBuffer *)finalize_data->info->internal_buffer);
+ } else { /* sw codec */
+ if (media_packet_get_tbm_surface(m_packet, &ts) != MEDIA_PACKET_ERROR_NONE)
LOG_ERROR("failed to media_packet_get_tbm_surface()");
- if (ts) {
- LOG_VERBOSE("tbm surface[%p] is destroyed", ts);
- tbm_surface_destroy(ts);
- }
+ if (ts) {
+ LOG_VERBOSE("tbm surface[%p] is destroyed", ts);
+ tbm_surface_destroy(ts);
+ }
- if (finalize_data->info->internal_buffer) {
- gst_buffer_unref((GstBuffer *)finalize_data->info->internal_buffer);
- } else if (finalize_data->info->bo[0]) { /* sw codec */
- _release_tbm_bo(finalize_data->tbm, finalize_data->info->bo[0]);
+ if (finalize_data->info->bo[0])
+ _release_tbm_bo(finalize_data->tbm, finalize_data->info->bo[0]);
}
g_free(finalize_data->info);