[0.2.129] Update media_format when video/audio information is changed 38/243238/2 accepted/tizen/unified/20200915.014533 submit/tizen/20200909.015028 submit/tizen/20200914.081919
authorGilbok Lee <gilbok.lee@samsung.com>
Fri, 4 Sep 2020 07:00:46 +0000 (16:00 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Fri, 4 Sep 2020 08:05:01 +0000 (17:05 +0900)
Change-Id: Ib4827f878fabc6bc7a5633e4281e6977664f618e

muse/include/muse_player_msg.h
muse/src/muse_player.c
packaging/mmsvc-player.spec

index 0a3ec84..b15eeaf 100644 (file)
@@ -45,6 +45,8 @@ typedef struct {
        uint64_t pts;
        int width;
        int height;
+       int samplerate;
+       int channels;
        media_format_mimetype_e mimetype;
        media_buffer_flags_e flags;
        char codec_data[512];
index b8137bd..cb4cb22 100644 (file)
@@ -932,10 +932,10 @@ static int __mplayer_push_media_stream(muse_player_handle_t *muse_player, player
        media_format_h format;
        media_packet_h packet;
        media_format_mimetype_e mimetype;
-       int width = 0;
-       int height = 0;
 
        if (push_media->mimetype & MEDIA_FORMAT_VIDEO) {
+               int width = 0;
+               int height = 0;
                if (!muse_player->video_format) {
                        media_format_create(&muse_player->video_format);
                        if (!muse_player->video_format) {
@@ -947,7 +947,7 @@ static int __mplayer_push_media_stream(muse_player_handle_t *muse_player, player
                        ret |= media_format_set_video_height(muse_player->video_format, push_media->height);
                }
                ret |= media_format_get_video_info(muse_player->video_format, &mimetype, &width, &height, NULL, NULL);
-               if (mimetype != push_media->mimetype) {
+               if (mimetype != push_media->mimetype || width != push_media->width || height != push_media->height) {
                        media_format_unref(muse_player->video_format);
                        media_format_create(&muse_player->video_format);
                        ret |= media_format_set_video_mime(muse_player->video_format, push_media->mimetype);
@@ -956,6 +956,8 @@ static int __mplayer_push_media_stream(muse_player_handle_t *muse_player, player
                }
                format = muse_player->video_format;
        } else if (push_media->mimetype & MEDIA_FORMAT_AUDIO) {
+               int channel = 0;
+               int samplerate = 0;
                if (!muse_player->audio_format) {
                        media_format_create(&muse_player->audio_format);
                        if (!muse_player->audio_format) {
@@ -963,12 +965,16 @@ static int __mplayer_push_media_stream(muse_player_handle_t *muse_player, player
                                return PLAYER_ERROR_INVALID_PARAMETER;
                        }
                        ret |= media_format_set_audio_mime(muse_player->audio_format, push_media->mimetype);
+                       ret |= media_format_set_audio_channel(muse_player->audio_format, push_media->channels);
+                       ret |= media_format_set_audio_samplerate(muse_player->audio_format, push_media->samplerate);
                }
-               ret |= media_format_get_audio_info(muse_player->audio_format, &mimetype, NULL, NULL, NULL, NULL);
-               if (mimetype != push_media->mimetype) {
+               ret |= media_format_get_audio_info(muse_player->audio_format, &mimetype, &channel, &samplerate, NULL, NULL);
+               if (mimetype != push_media->mimetype || channel != push_media->channels || samplerate != push_media->samplerate) {
                        media_format_unref(muse_player->audio_format);
                        media_format_create(&muse_player->audio_format);
                        ret |= media_format_set_audio_mime(muse_player->audio_format, push_media->mimetype);
+                       ret |= media_format_set_audio_channel(muse_player->audio_format, push_media->channels);
+                       ret |= media_format_set_audio_samplerate(muse_player->audio_format, push_media->samplerate);
                }
                format = muse_player->audio_format;
        } else {
index f1fd578..d061518 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-player
 Summary:    A Media Player module for muse server
-Version:    0.2.128
+Version:    0.2.129
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0