diff options
author | Lukasz Marek <lukasz.m.luki2@gmail.com> | 2014-04-30 00:25:13 +0200 |
---|---|---|
committer | Lukasz Marek <lukasz.m.luki2@gmail.com> | 2014-04-30 00:36:06 +0200 |
commit | f817d55049bec14500e10427d7e3d544fa14e8d8 (patch) | |
tree | 2a84574f595e262ec8486469111a957c69d72434 | |
parent | a1e5be5c1a0c98206a1ae034d278702f5c8ef2a3 (diff) | |
download | ffmpeg-f817d55049bec14500e10427d7e3d544fa14e8d8.tar.gz |
lavd/pulse_audio_enc: signal that buffer is still writable after write
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
-rw-r--r-- | libavdevice/pulse_audio_enc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavdevice/pulse_audio_enc.c b/libavdevice/pulse_audio_enc.c index b8c77db85c..01b9785fd3 100644 --- a/libavdevice/pulse_audio_enc.c +++ b/libavdevice/pulse_audio_enc.c @@ -624,6 +624,7 @@ static int pulse_write_packet(AVFormatContext *h, AVPacket *pkt) { PulseData *s = h->priv_data; int ret; + int64_t writable_size; if (!pkt) return pulse_flash_stream(s); @@ -658,6 +659,9 @@ static int pulse_write_packet(AVFormatContext *h, AVPacket *pkt) av_log(s, AV_LOG_ERROR, "pa_stream_write failed: %s\n", pa_strerror(ret)); goto fail; } + if ((writable_size = pa_stream_writable_size(s->stream)) >= s->minreq) + avdevice_dev_to_app_control_message(h, AV_DEV_TO_APP_BUFFER_WRITABLE, &writable_size, sizeof(writable_size)); + pa_threaded_mainloop_unlock(s->mainloop); return 0; |