support iamf in esplusplayer
authordi1028.wu <di1028.wu@samsung.com>
Fri, 5 Jul 2024 02:29:19 +0000 (10:29 +0800)
committerdi1028.wu <di1028.wu@samsung.com>
Fri, 5 Jul 2024 02:29:19 +0000 (10:29 +0800)
include/esplusplayer/elementary_stream.h
include/esplusplayer_capi/stream.h
src/esplusplayer/src/elementary_stream.cpp

index 9fc23247f15f320daa763b95b846de246bf0cd5b..b3f74464c91d148e8150dcd524838e7691840bd9 100755 (executable)
@@ -62,7 +62,11 @@ enum class AudioMimeType {
   kG711_MULAW,
   kAC4,
   kMpegH,
-  kFlac
+  kFlac,
+  kIAMF_OPUS,
+  kIAMF_AAC,
+  kIAMF_FLAC,
+  kIAMF_LPCM
 };
 /**
  * @brief   Enumerations for video mime type
index da0e942efeeaad6fb0b3a9a23eb2e911dd90cf5f..79400a971ddf4130fa1a5b2cb1bfc7763c184ad6 100755 (executable)
@@ -71,7 +71,27 @@ typedef enum esplusplayer_audio_mime_type {
   ESPLUSPLAYER_AUDIO_MIME_TYPE_G711_MULAW,
   ESPLUSPLAYER_AUDIO_MIME_TYPE_AC4,
   ESPLUSPLAYER_AUDIO_MIME_TYPE_MPEGH,
-  ESPLUSPLAYER_AUDIO_MIME_TYPE_FLAC
+  ESPLUSPLAYER_AUDIO_MIME_TYPE_FLAC,
+  /**
+   * @description Mime type for iamf stream with Opus codec_id
+   *  support since version 7.0
+   */
+  ESPLUSPLAYER_AUDIO_MIME_TYPE_IAMF_OPUS,
+  /**
+   * @description Mime type for iamf stream with mp4a codec_id
+   *  support since version 7.0
+   */
+  ESPLUSPLAYER_AUDIO_MIME_TYPE_IAMF_AAC,
+  /**
+   * @description Mime type for iamf stream with fLaC codec_id
+   *  support since version 7.0
+   */
+  ESPLUSPLAYER_AUDIO_MIME_TYPE_IAMF_FLAC,
+  /**
+   * @description Mime type for iamf stream with ipcm codec_id
+   *  support since version 7.0
+   */
+  ESPLUSPLAYER_AUDIO_MIME_TYPE_IAMF_LPCM
 } esplusplayer_audio_mime_type;
 
 /**
index e298933054b4a9cd21af8e160cb63a2ee3edad8e..9f79a385f37fbb1316227335a69399450f37fae6 100755 (executable)
@@ -162,6 +162,22 @@ void AudioStream::SetMimeType_(AudioMimeType mimetype) {
       track_.mimetype = "audio/x-ffmpeg-parsed-flac";
       break;
     }
+    case AudioMimeType::kIAMF_OPUS: {
+      track_.mimetype = "audio/x-iamf-opus";
+      break;
+    }
+    case AudioMimeType::kIAMF_AAC: {
+      track_.mimetype = "audio/x-iamf-aac";
+      break;
+    }
+    case AudioMimeType::kIAMF_FLAC: {
+      track_.mimetype = "audio/x-iamf-flac";
+      break;
+    }
+    case AudioMimeType::kIAMF_LPCM: {
+      track_.mimetype = "audio/x-iamf-lpcm";
+      break;
+    }
     default:
       track_.mimetype = "unknown";
       break;