*/
#include "avformat.h"
+#include "internal.h"
static const uint8_t frame_size[4] = {24, 20, 4, 1};
-static int g723_1_init(AVFormatContext *s, AVFormatParameters *ap)
+static int g723_1_init(AVFormatContext *s)
{
AVStream *st;
- st = av_new_stream(s, 0);
+ st = avformat_new_stream(s, NULL);
if (!st)
return AVERROR(ENOMEM);
st->codec->channels = 1;
st->codec->sample_rate = 8000;
- av_set_pts_info(st, 64, 1, st->codec->sample_rate);
+ avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
return 0;
}
{
int size, byte, ret;
- pkt->pos = url_ftell(s->pb);
- byte = get_byte(s->pb);
+ pkt->pos = avio_tell(s->pb);
+ byte = avio_r8(s->pb);
size = frame_size[byte & 3];
ret = av_new_packet(pkt, size);
pkt->duration = 240;
pkt->stream_index = 0;
- ret = get_buffer(s->pb, pkt->data + 1, size - 1);
+ ret = avio_read(s->pb, pkt->data + 1, size - 1);
if (ret < size - 1) {
av_free_packet(pkt);
return ret < 0 ? ret : AVERROR_EOF;
}
AVInputFormat ff_g723_1_demuxer = {
- "g723_1",
- NULL_IF_CONFIG_SMALL("G.723.1 format"),
- 0,
- NULL,
- g723_1_init,
- g723_1_read_packet,
+ .name = "g723_1",
+ .long_name = NULL_IF_CONFIG_SMALL("G.723.1 format"),
+ .read_header = g723_1_init,
+ .read_packet = g723_1_read_packet,
.extensions = "tco,rco",
.flags = AVFMT_GENERIC_INDEX
};