diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-09-20 14:40:54 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-09-20 14:40:54 +0200 |
commit | e940d15a98cb91a991e226fbbfba669c6601e90a (patch) | |
tree | 22ccae309df9c046b2faedf95ca95e4b4e716737 | |
parent | 481118615c153160fc0d5ec383a7b5ded276e226 (diff) | |
parent | 9fcc632249be3080836a3afce25b3092939743ac (diff) | |
download | ffmpeg-e940d15a98cb91a991e226fbbfba669c6601e90a.tar.gz |
Merge commit '9fcc632249be3080836a3afce25b3092939743ac' into release/2.2
* commit '9fcc632249be3080836a3afce25b3092939743ac':
pulse: Add a wallclock option to be compatible with other other captures
Conflicts:
libavdevice/pulse_audio_dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavdevice/pulse_audio_dec.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavdevice/pulse_audio_dec.c b/libavdevice/pulse_audio_dec.c index 3b5cebb7f6..7adfa074a6 100644 --- a/libavdevice/pulse_audio_dec.c +++ b/libavdevice/pulse_audio_dec.c @@ -30,6 +30,7 @@ #include <pulse/error.h> #include "libavformat/avformat.h" #include "libavformat/internal.h" +#include "libavutil/time.h" #include "libavutil/opt.h" #include "pulse_audio_common.h" @@ -47,6 +48,7 @@ typedef struct PulseData { pa_simple *s; int64_t pts; int64_t frame_duration; + int wallclock; } PulseData; static av_cold int pulse_read_header(AVFormatContext *s) @@ -131,6 +133,8 @@ static int pulse_read_packet(AVFormatContext *s, AVPacket *pkt) } pd->pts = -latency; + if (pd->wallclock) + pd->pts += av_gettime(); } pkt->pts = pd->pts; @@ -158,6 +162,7 @@ static const AVOption options[] = { { "channels", "set number of audio channels", OFFSET(channels), AV_OPT_TYPE_INT, {.i64 = 2}, 1, INT_MAX, D }, { "frame_size", "set number of bytes per frame", OFFSET(frame_size), AV_OPT_TYPE_INT, {.i64 = 1024}, 1, INT_MAX, D }, { "fragment_size", "set buffering size, affects latency and cpu usage", OFFSET(fragment_size), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, D }, + { "wallclock", "set the initial pts using the current time", OFFSET(wallclock), AV_OPT_TYPE_INT, {.i64 = 1}, -1, 1, D }, { NULL }, }; |