mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-29 02:42:21 +00:00
avformat/dss: Set values known during read_header in read_header
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
5d06d26be3
commit
ef8c8b4163
@ -144,6 +144,8 @@ static int dss_read_header(AVFormatContext *s)
|
||||
if (ctx->audio_codec == DSS_ACODEC_DSS_SP) {
|
||||
st->codecpar->codec_id = AV_CODEC_ID_DSS_SP;
|
||||
st->codecpar->sample_rate = 11025;
|
||||
s->bit_rate = 8 * (DSS_FRAME_SIZE - 1) * st->codecpar->sample_rate
|
||||
* 512 / (506 * 264);
|
||||
} else if (ctx->audio_codec == DSS_ACODEC_G723_1) {
|
||||
st->codecpar->codec_id = AV_CODEC_ID_G723_1;
|
||||
st->codecpar->sample_rate = 8000;
|
||||
@ -206,7 +208,6 @@ static void dss_sp_byte_swap(DSSDemuxContext *ctx,
|
||||
static int dss_sp_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
{
|
||||
DSSDemuxContext *ctx = s->priv_data;
|
||||
AVStream *st = s->streams[0];
|
||||
int read_size, ret, offset = 0, buff_offset = 0;
|
||||
int64_t pos = avio_tell(s->pb);
|
||||
|
||||
@ -219,8 +220,6 @@ static int dss_sp_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
} else
|
||||
read_size = DSS_FRAME_SIZE;
|
||||
|
||||
ctx->packet_size = DSS_FRAME_SIZE - 1;
|
||||
|
||||
ret = av_new_packet(pkt, DSS_FRAME_SIZE);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@ -228,7 +227,6 @@ static int dss_sp_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
pkt->duration = 264;
|
||||
pkt->pos = pos;
|
||||
pkt->stream_index = 0;
|
||||
s->bit_rate = 8LL * ctx->packet_size * st->codecpar->sample_rate * 512 / (506 * pkt->duration);
|
||||
|
||||
if (ctx->counter < read_size) {
|
||||
ret = avio_read(s->pb, ctx->dss_sp_buf + buff_offset,
|
||||
|
Loading…
Reference in New Issue
Block a user