return NULL;
}
+static media_packet_rotate_method_e __convert_packet_orient_info(int orientation)
+{
+ media_packet_rotate_method_e rotate = MEDIA_PACKET_ROTATE_IDENTITY;
+
+ switch (orientation) {
+ case 90:
+ rotate = MEDIA_PACKET_ROTATE_90;
+ break;
+ case 180:
+ rotate = MEDIA_PACKET_ROTATE_180;
+ break;
+ case 270:
+ rotate = MEDIA_PACKET_ROTATE_270;
+ break;
+ default:
+ rotate = MEDIA_PACKET_ROTATE_IDENTITY;
+ break;
+ }
+
+ return rotate;
+}
+
static void __media_packet_video_frame_cb_handler(callback_cb_info_s * cb_info, _player_recv_data *recv_data)
{
tbm_bo bo[4] = { NULL, };
_media_pkt_fin_data *fin_data = NULL;
intptr_t v_data = 0;
uint64_t pts = 0;
- int i = 0;
+ int i = 0, orientation = 0;
+
muse_core_msg_parse_err_e err = MUSE_MSG_PARSE_ERROR_NONE;
void *jobj = muse_core_msg_object_new(recv_data->buffer, NULL, &err);
!muse_core_msg_object_get_value("v_data", jobj, MUSE_TYPE_POINTER, &v_data) ||
!muse_core_msg_object_get_value("mimetype", jobj, MUSE_TYPE_ANY, &mimetype) ||
!muse_core_msg_object_get_value("pts", jobj, MUSE_TYPE_INT64, &pts) ||
+ !muse_core_msg_object_get_value("orientation", jobj, MUSE_TYPE_INT, &orientation) ||
!muse_core_msg_object_get_value("surface_info", jobj, MUSE_TYPE_ARRAY, surface_info)) {
LOGE("failed to get value from msg. jobj:%p, err:%d", jobj, err);
if (ret != MEDIA_PACKET_ERROR_NONE)
LOGE("media_packet_set_pts failed");
}
+
+ ret = media_packet_set_rotate_method(pkt, __convert_packet_orient_info(orientation));
+ if (ret != MEDIA_PACKET_ERROR_NONE)
+ LOGE("media_packet_set_rotate_method failed");
+
if (cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_VIDEO_FRAME]) {
/* call media packet callback */
((player_media_packet_video_decoded_cb) cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_VIDEO_FRAME]) (pkt, cb_info->user_data[MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_VIDEO_FRAME]);