gst/rtp/gstrtpmp4vpay.c: Flush the remaining frames on EOS. Fixes #560641.

Original commit message from CVS:
Patch by: Yotam <sh dot yotam at gmail dot com>
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_event):
Flush the remaining frames on EOS. Fixes #560641.
This commit is contained in:
Yotam 2008-11-13 14:04:40 +00:00 committed by Wim Taymans
parent 5bb87818b2
commit bfb73112af
2 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
Patch by: Yotam <sh dot yotam at gmail dot com>
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_event):
Flush the remaining frames on EOS. Fixes #560641.
2008-11-12 Jan Schmidt <jan.schmidt@sun.com> 2008-11-12 Jan Schmidt <jan.schmidt@sun.com>
* gst/rtp/gstrtpg729pay.c: (gst_rtp_g729_pay_handle_buffer): * gst/rtp/gstrtpg729pay.c: (gst_rtp_g729_pay_handle_buffer):

View file

@ -1,5 +1,5 @@
/* GStreamer /* GStreamer
* Copyright (C) <2005> Wim Taymans <wim@fluendo.com> * Copyright (C) <2005> Wim Taymans <wim.taymans@gmail.com>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public * modify it under the terms of the GNU Library General Public
@ -35,7 +35,7 @@ static const GstElementDetails gst_rtp_mp4vpay_details =
GST_ELEMENT_DETAILS ("RTP MPEG-4 Video packet payloader", GST_ELEMENT_DETAILS ("RTP MPEG-4 Video packet payloader",
"Codec/Payloader/Network", "Codec/Payloader/Network",
"Payload MPEG-4 video as RTP packets (RFC 3016)", "Payload MPEG-4 video as RTP packets (RFC 3016)",
"Wim Taymans <wim@fluendo.com>"); "Wim Taymans <wim.taymans@gmail.com>");
static GstStaticPadTemplate gst_rtp_mp4v_pay_sink_template = static GstStaticPadTemplate gst_rtp_mp4v_pay_sink_template =
GST_STATIC_PAD_TEMPLATE ("sink", GST_STATIC_PAD_TEMPLATE ("sink",
@ -495,6 +495,9 @@ gst_rtp_mp4v_pay_event (GstPad * pad, GstEvent * event)
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_NEWSEGMENT: case GST_EVENT_NEWSEGMENT:
case GST_EVENT_EOS:
/* This flush call makes sure that the last buffer is always pushed
* to the base payloader */
gst_rtp_mp4v_pay_flush (rtpmp4vpay); gst_rtp_mp4v_pay_flush (rtpmp4vpay);
break; break;
case GST_EVENT_FLUSH_STOP: case GST_EVENT_FLUSH_STOP: