ecore audio: Fix loss of last stream
authorJiwon Kim <jwkim0000@gmail.com>
Fri, 24 Mar 2017 01:34:53 +0000 (10:34 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 24 Mar 2017 01:34:54 +0000 (10:34 +0900)
commit25fcdde3564824087fd23f0380c129f28bd08869
tree48e3df5556082d4f2ab11d319bf5aa8b2b3b45c8
parent35a7e7ff1810a29820c9f05fbbd4cb63fb964f16
ecore audio: Fix loss of last stream

Summary:
pa_stream's write callback requires to size of stream data
using 'len' parameter.
This size depend on pulse audio's internal status and not
consistent.

When a efl read audio's last stream, length of read('bread')
is less than write callback's 'len' parameter.
If the gap between 'len' and 'bread' is small,
last stream is played fortunately.
Otherwise, the last stream is discarded.
(It is doubtful about pa_stream's pre-buffering.)

To prevent it, push silent stream which is amount
of deficient length.

@fix T5281

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, jpeg, woohyun

Maniphest Tasks: T5281

Differential Revision: https://phab.enlightenment.org/D4726
src/lib/ecore_audio/ecore_audio_obj_out_pulse.c