mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 03:59:43 +00:00
lavd/pulse_audio_enc: add support for flushing
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com> Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
This commit is contained in:
parent
2d8ccf0adc
commit
d1f383341f
@ -98,14 +98,20 @@ static av_cold int pulse_write_trailer(AVFormatContext *h)
|
||||
static int pulse_write_packet(AVFormatContext *h, AVPacket *pkt)
|
||||
{
|
||||
PulseData *s = h->priv_data;
|
||||
int size = pkt->size;
|
||||
uint8_t *buf = pkt->data;
|
||||
int error;
|
||||
|
||||
if (!pkt) {
|
||||
if (pa_simple_flush(s->pa, &error) < 0) {
|
||||
av_log(s, AV_LOG_ERROR, "pa_simple_flush failed: %s\n", pa_strerror(error));
|
||||
return AVERROR(EIO);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (s->stream_index != pkt->stream_index)
|
||||
return 0;
|
||||
|
||||
if (pa_simple_write(s->pa, buf, size, &error) < 0) {
|
||||
if (pa_simple_write(s->pa, pkt->data, pkt->size, &error) < 0) {
|
||||
av_log(s, AV_LOG_ERROR, "pa_simple_write failed: %s\n", pa_strerror(error));
|
||||
return AVERROR(EIO);
|
||||
}
|
||||
@ -149,6 +155,6 @@ AVOutputFormat ff_pulse_muxer = {
|
||||
.write_packet = pulse_write_packet,
|
||||
.write_trailer = pulse_write_trailer,
|
||||
.get_output_timestamp = pulse_get_output_timestamp,
|
||||
.flags = AVFMT_NOFILE,
|
||||
.flags = AVFMT_NOFILE | AVFMT_ALLOW_FLUSH,
|
||||
.priv_class = &pulse_muxer_class,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user