lavc: support extracting audio service type from side data
authorAnton Khirnov <anton@khirnov.net>
Fri, 14 Nov 2014 12:53:48 +0000 (13:53 +0100)
committerAnton Khirnov <anton@khirnov.net>
Tue, 27 Jan 2015 08:22:33 +0000 (09:22 +0100)
libavcodec/utils.c

index 5493055..a36e960 100644 (file)
@@ -1397,6 +1397,13 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx,
         frame = &tmp;
     }
 
+    /* extract audio service type metadata */
+    if (frame) {
+        AVFrameSideData *sd = av_frame_get_side_data(frame, AV_FRAME_DATA_AUDIO_SERVICE_TYPE);
+        if (sd && sd->size >= sizeof(enum AVAudioServiceType))
+            avctx->audio_service_type = *(enum AVAudioServiceType*)sd->data;
+    }
+
     /* check for valid frame size */
     if (frame) {
         if (avctx->codec->capabilities & CODEC_CAP_SMALL_LAST_FRAME) {