AVStream *st;
int ret;
enum CodecID codec_id;
- snd_pcm_sw_params_t *sw_params;
double o;
-#if FF_API_FORMAT_PARAMETERS
- if (ap->sample_rate > 0)
- s->sample_rate = ap->sample_rate;
-
- if (ap->channels > 0)
- s->channels = ap->channels;
-#endif
-
- st = av_new_stream(s1, 0);
+ st = avformat_new_stream(s1, NULL);
if (!st) {
av_log(s1, AV_LOG_ERROR, "Cannot add stream\n");
static int audio_read_packet(AVFormatContext *s1, AVPacket *pkt)
{
AlsaData *s = s1->priv_data;
- AVStream *st = s1->streams[0];
int res;
int64_t dts;
snd_pcm_sframes_t delay = 0;
}
static const AVOption options[] = {
- { "sample_rate", "", offsetof(AlsaData, sample_rate), FF_OPT_TYPE_INT, {.dbl = 48000}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
- { "channels", "", offsetof(AlsaData, channels), FF_OPT_TYPE_INT, {.dbl = 2}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "sample_rate", "", offsetof(AlsaData, sample_rate), AV_OPT_TYPE_INT, {.dbl = 48000}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "channels", "", offsetof(AlsaData, channels), AV_OPT_TYPE_INT, {.dbl = 2}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
};
};
AVInputFormat ff_alsa_demuxer = {
- "alsa",
- NULL_IF_CONFIG_SMALL("ALSA audio input"),
- sizeof(AlsaData),
- NULL,
- audio_read_header,
- audio_read_packet,
- ff_alsa_close,
- .flags = AVFMT_NOFILE,
- .priv_class = &alsa_demuxer_class,
+ .name = "alsa",
+ .long_name = NULL_IF_CONFIG_SMALL("ALSA audio input"),
+ .priv_data_size = sizeof(AlsaData),
+ .read_header = audio_read_header,
+ .read_packet = audio_read_packet,
+ .read_close = ff_alsa_close,
+ .flags = AVFMT_NOFILE,
+ .priv_class = &alsa_demuxer_class,
};