mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-11 09:59:50 +00:00
pulse: get latency only when needed
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
b13d6c837f
commit
b53d6ce3fd
@ -109,7 +109,6 @@ static int pulse_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
{
|
{
|
||||||
PulseData *pd = s->priv_data;
|
PulseData *pd = s->priv_data;
|
||||||
int res;
|
int res;
|
||||||
pa_usec_t latency;
|
|
||||||
|
|
||||||
if (av_new_packet(pkt, pd->frame_size) < 0) {
|
if (av_new_packet(pkt, pd->frame_size) < 0) {
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
@ -122,13 +121,15 @@ static int pulse_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
return AVERROR(EIO);
|
return AVERROR(EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((latency = pa_simple_get_latency(pd->s, &res)) == (pa_usec_t) -1) {
|
|
||||||
av_log(s, AV_LOG_ERROR, "pa_simple_get_latency() failed: %s\n",
|
|
||||||
pa_strerror(res));
|
|
||||||
return AVERROR(EIO);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pd->pts == AV_NOPTS_VALUE) {
|
if (pd->pts == AV_NOPTS_VALUE) {
|
||||||
|
pa_usec_t latency;
|
||||||
|
|
||||||
|
if ((latency = pa_simple_get_latency(pd->s, &res)) == (pa_usec_t) -1) {
|
||||||
|
av_log(s, AV_LOG_ERROR, "pa_simple_get_latency() failed: %s\n",
|
||||||
|
pa_strerror(res));
|
||||||
|
return AVERROR(EIO);
|
||||||
|
}
|
||||||
|
|
||||||
pd->pts = -latency;
|
pd->pts = -latency;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user