From 6a5e6eac55aab4a71265e09f1af59b959055cf36 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 20 Dec 2010 18:49:49 +0100 Subject: [PATCH] mpapay: flush last packets on EOS --- gst/rtp/gstrtpmpapay.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gst/rtp/gstrtpmpapay.c b/gst/rtp/gstrtpmpapay.c index 23efb67..88d71bc 100644 --- a/gst/rtp/gstrtpmpapay.c +++ b/gst/rtp/gstrtpmpapay.c @@ -56,6 +56,7 @@ static GstStateChangeReturn gst_rtp_mpa_pay_change_state (GstElement * element, static gboolean gst_rtp_mpa_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps); static gboolean gst_rtp_mpa_pay_handle_event (GstPad * pad, GstEvent * event); +static GstFlowReturn gst_rtp_mpa_pay_flush (GstRtpMPAPay * rtpmpapay); static GstFlowReturn gst_rtp_mpa_pay_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer); @@ -144,6 +145,10 @@ gst_rtp_mpa_pay_handle_event (GstPad * pad, GstEvent * event) rtpmpapay = GST_RTP_MPA_PAY (gst_pad_get_parent (pad)); switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_EOS: + /* make sure we push the last packets in the adapter on EOS */ + gst_rtp_mpa_pay_flush (rtpmpapay); + break; case GST_EVENT_FLUSH_STOP: gst_rtp_mpa_pay_reset (rtpmpapay); break; -- 2.7.4