* Linux audio play and grab interface
* Copyright (c) 2000, 2001 Fabrice Bellard.
*
- * This library is free software; you can redistribute it and/or
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This library is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
+ * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "avformat.h"
AVStream *st;
int ret;
- if (!ap || ap->sample_rate <= 0 || ap->channels <= 0)
+ if (ap->sample_rate <= 0 || ap->channels <= 0)
return -1;
st = av_new_stream(s1, 0);
st->codec->sample_rate = s->sample_rate;
st->codec->channels = s->channels;
- av_set_pts_info(st, 48, 1, 1000000); /* 48 bits pts in us */
+ av_set_pts_info(st, 64, 1, 1000000); /* 64 bits pts in us */
return 0;
}
if (ret == -1 && (errno == EAGAIN || errno == EINTR)) {
av_free_packet(pkt);
pkt->size = 0;
- pkt->pts = av_gettime() & ((1LL << 48) - 1);
+ pkt->pts = av_gettime();
return 0;
}
if (!(ret == 0 || (ret == -1 && (errno == EAGAIN || errno == EINTR)))) {
cur_time -= (bdelay * 1000000LL) / (s->sample_rate * s->channels);
/* convert to wanted units */
- pkt->pts = cur_time & ((1LL << 48) - 1);
+ pkt->pts = cur_time;
if (s->flip_left && s->channels == 2) {
int i;
return 0;
}
-static AVInputFormat audio_in_format = {
+#ifdef CONFIG_AUDIO_DEMUXER
+AVInputFormat audio_demuxer = {
"audio_device",
"audio grab and output",
sizeof(AudioData),
audio_read_close,
.flags = AVFMT_NOFILE,
};
+#endif
-static AVOutputFormat audio_out_format = {
+#ifdef CONFIG_AUDIO_MUXER
+AVOutputFormat audio_muxer = {
"audio_device",
"audio grab and output",
"",
audio_write_trailer,
.flags = AVFMT_NOFILE,
};
-
-int audio_init(void)
-{
- av_register_input_format(&audio_in_format);
- av_register_output_format(&audio_out_format);
- return 0;
-}
+#endif