summaryrefslogtreecommitdiff
path: root/libavdevice/pulse_audio_enc.c
diff options
context:
space:
mode:
authorLukasz Marek <lukasz.m.luki2@gmail.com>2014-04-30 00:25:13 +0200
committerLukasz Marek <lukasz.m.luki2@gmail.com>2014-04-30 00:36:06 +0200
commitf817d55049bec14500e10427d7e3d544fa14e8d8 (patch)
tree2a84574f595e262ec8486469111a957c69d72434 /libavdevice/pulse_audio_enc.c
parenta1e5be5c1a0c98206a1ae034d278702f5c8ef2a3 (diff)
downloadffmpeg-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>
Diffstat (limited to 'libavdevice/pulse_audio_enc.c')
-rw-r--r--libavdevice/pulse_audio_enc.c4
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;