On 1/31/17, Michael Niedermayer <michae...@gmx.at> wrote: > On Tue, Jan 31, 2017 at 04:17:19PM +0100, Paul B Mahol wrote: >> On 1/31/17, Michael Niedermayer <michae...@gmx.at> wrote: >> > On Sun, Jan 29, 2017 at 06:39:21PM +0100, Paul B Mahol wrote: >> >> Only lossy part is decoded for now. >> >> >> >> Signed-off-by: Paul B Mahol <one...@gmail.com> >> >> --- >> > [...] >> >> static int oma_read_packet(AVFormatContext *s, AVPacket *pkt) >> >> { >> >> OMAContext *oc = s->priv_data; >> >> - AVStream *st = s->streams[0]; >> >> - int packet_size = st->codecpar->block_align; >> >> - int byte_rate = st->codecpar->bit_rate >> 3; >> >> - int64_t pos = avio_tell(s->pb); >> >> - int ret = av_get_packet(s->pb, pkt, packet_size); >> >> - >> >> - if (ret < packet_size) >> >> - pkt->flags |= AV_PKT_FLAG_CORRUPT; >> >> - >> >> - if (ret < 0) >> >> - return ret; >> >> - if (!ret) >> >> - return AVERROR_EOF; >> >> - >> >> - pkt->stream_index = 0; >> >> - >> >> - if (pos >= oc->content_start && byte_rate > 0) { >> >> - pkt->pts = >> >> - pkt->dts = av_rescale(pos - oc->content_start, >> >> st->time_base.den, >> >> - byte_rate * >> >> (int64_t)st->time_base.num); >> >> - } >> >> - >> >> - if (oc->encrypted) { >> >> - /* previous unencrypted block saved in IV for >> >> - * the next packet (CBC mode) */ >> >> - if (ret == packet_size) >> >> - av_des_crypt(oc->av_des, pkt->data, pkt->data, >> >> - (packet_size >> 3), oc->iv, 1); >> >> - else >> >> - memset(oc->iv, 0, 8); >> >> - } >> >> - >> >> - return ret; >> >> + return oc->read_packet(s, pkt); >> >> } >> > >> > moving this into read_packet() could be done in a seperate patch >> > >> > >> >> >> >> static int oma_read_probe(AVProbeData *p) >> >> @@ -491,8 +571,14 @@ static int oma_read_seek(struct AVFormatContext >> >> *s, >> >> int stream_index, int64_t timestamp, int >> >> flags) >> >> { >> >> OMAContext *oc = s->priv_data; >> >> - int64_t err = ff_pcm_read_seek(s, stream_index, timestamp, >> >> flags); >> >> + AVStream *st = s->streams[0]; >> >> + int64_t err; >> >> + >> >> + if (st->codecpar->codec_id == AV_CODEC_ID_ATRAC3PAL || >> >> + st->codecpar->codec_id == AV_CODEC_ID_ATRAC3AL) >> > >> >> + return -1; >> > >> > should be a AVERROR code >> >> This is not error, it makes seeking possible, using other error codes >> is bad idea. > > It would be better to use a named identifier than a litteral number > normally we use AVERROR_*, i would argue that oma_read_seek() did not > seek so it didnt succeed but if you prefer this to be called something > else than AVERROR_* sure iam perfectly fine with what you prefer. > > It was the use of a litteral number (which is also undocumented for > read_seek() except by code returning -1) that i wanted to comment on
-1 means use generice seeking. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel