[SCM] libav/experimental: voc: set bits_per_sample correctly (fix mplayer playback)

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:46:22 UTC 2013


The following commit has been merged in the experimental branch:
commit b96532e9702e46572e5acad2deba3a7cd802630e
Author: Aurelien Jacobs <aurel at gnuage.org>
Date:   Thu Feb 9 23:53:07 2006 +0000

    voc: set bits_per_sample correctly (fix mplayer playback)
    
    Originally committed as revision 4968 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/voc.c b/libavformat/voc.c
index 7c723a4..712f71a 100644
--- a/libavformat/voc.c
+++ b/libavformat/voc.c
@@ -90,6 +90,18 @@ static int voc_read_header(AVFormatContext *s, AVFormatParameters *ap)
     return 0;
 }
 
+static int voc_get_bps(int codec_id)
+{
+    switch (codec_id) {
+    case CODEC_ID_PCM_S16LE:
+        return 16;
+    case CODEC_ID_ADPCM_CT:
+        return 4;
+    default:
+        return 8;
+    }
+}
+
 int
 voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size)
 {
@@ -115,6 +127,7 @@ voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size)
                 dec->sample_rate = sample_rate;
             dec->channels = channels;
             dec->codec_id = codec_get_id(voc_codec_tags, get_byte(pb));
+            dec->bits_per_sample = voc_get_bps(dec->codec_id);
             voc->remaining_size -= 2;
             max_size -= 2;
             channels = 1;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list