summaryrefslogtreecommitdiff
path: root/libavformat/westwood_aud.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-01-24 11:43:54 -0500
committerJustin Ruggles <justin.ruggles@gmail.com>2012-01-24 14:13:47 -0500
commitbe14a37066cc99e2b769ee5e044a34caecd24938 (patch)
tree50da5af7c4e29d319dc56505da952baa24205db2 /libavformat/westwood_aud.c
parent10fef6bd6b3913c94d81276a271ac0c77c2c3525 (diff)
aud: fix time stamp calculation for ADPCM IMA WS
also allows for removing some unused context fields
Diffstat (limited to 'libavformat/westwood_aud.c')
-rw-r--r--libavformat/westwood_aud.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/libavformat/westwood_aud.c b/libavformat/westwood_aud.c
index 79f2198745..2195accbc8 100644
--- a/libavformat/westwood_aud.c
+++ b/libavformat/westwood_aud.c
@@ -42,10 +42,7 @@
#define AUD_CHUNK_SIGNATURE 0x0000DEAF
typedef struct WsAudDemuxContext {
- int audio_channels;
- int audio_samplerate;
int audio_stream_index;
- int64_t audio_frame_counter;
} WsAudDemuxContext;
static int wsaud_probe(AVProbeData *p)
@@ -131,10 +128,7 @@ static int wsaud_read_header(AVFormatContext *s,
st->codec->channels = channels;
st->codec->sample_rate = sample_rate;
- wsaud->audio_channels = channels;
- wsaud->audio_samplerate = sample_rate;
wsaud->audio_stream_index = st->index;
- wsaud->audio_frame_counter = 0;
return 0;
}
@@ -177,11 +171,9 @@ static int wsaud_read_packet(AVFormatContext *s,
ret = av_get_packet(pb, pkt, chunk_size);
if (ret != chunk_size)
return AVERROR(EIO);
- pkt->pts = wsaud->audio_frame_counter;
- pkt->pts /= wsaud->audio_samplerate;
/* 2 samples/byte, 1 or 2 samples per frame depending on stereo */
- wsaud->audio_frame_counter += (chunk_size * 2) / wsaud->audio_channels;
+ pkt->duration = (chunk_size * 2) / st->codec->channels;
}
pkt->stream_index = st->index;