Search
SailfishOS Open Build Service
>
Projects
>
home:sledge
:
branches:nemo:devel:hw:ti:omap4:common
>
gstreamer
> 0005-Add-GST_EVENT_LIVE_FLUSH.patch
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File 0005-Add-GST_EVENT_LIVE_FLUSH.patch of Package gstreamer
From 5c07f82246484b409b838bfb2c713f56b5284067 Mon Sep 17 00:00:00 2001 From: Alessandro Decina <alessandro.decina@collabora.co.uk> Date: Fri, 6 May 2011 08:40:26 +0200 Subject: [PATCH 05/14] Add GST_EVENT_LIVE_FLUSH. This is needed by live sources to unblock buffer_alloc going from PLAYING to PAUSED. Currently basesrc assumes that ::create can always be unblocked. When going from PLAYING to PAUSED it can happen that a live source is blocked in a buffer_alloc call and so we need a way to unblock it. --- gst/gstevent.c | 8 ++++++++ gst/gstevent.h | 2 ++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/gst/gstevent.c b/gst/gstevent.c index 1cddb20..4f7eaec 100644 --- a/gst/gstevent.c +++ b/gst/gstevent.c @@ -111,6 +111,7 @@ static GstEventQuarks event_quarks[] = { {GST_EVENT_UNKNOWN, "unknown", 0}, {GST_EVENT_FLUSH_START, "flush-start", 0}, {GST_EVENT_FLUSH_STOP, "flush-stop", 0}, + {GST_EVENT_LIVE_FLUSH, "live-flush", 0}, {GST_EVENT_EOS, "eos", 0}, {GST_EVENT_NEWSEGMENT, "newsegment", 0}, {GST_EVENT_TAG, "tag", 0}, @@ -462,6 +463,13 @@ gst_event_new_flush_stop (void) return gst_event_new (GST_EVENT_FLUSH_STOP); } + +GstEvent * +gst_event_new_live_flush (void) +{ + return gst_event_new (GST_EVENT_LIVE_FLUSH); +} + /** * gst_event_new_eos: * diff --git a/gst/gstevent.h b/gst/gstevent.h index fb40c11..ae4258d 100644 --- a/gst/gstevent.h +++ b/gst/gstevent.h @@ -132,6 +132,7 @@ typedef enum { /* bidirectional events */ GST_EVENT_FLUSH_START = GST_EVENT_MAKE_TYPE (1, FLAG(BOTH)), GST_EVENT_FLUSH_STOP = GST_EVENT_MAKE_TYPE (2, FLAG(BOTH) | FLAG(SERIALIZED)), + GST_EVENT_LIVE_FLUSH = GST_EVENT_MAKE_TYPE (3, FLAG(BOTH)), /* downstream serialized events */ GST_EVENT_EOS = GST_EVENT_MAKE_TYPE (5, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), GST_EVENT_NEWSEGMENT = GST_EVENT_MAKE_TYPE (6, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), @@ -453,6 +454,7 @@ void gst_event_set_seqnum (GstEvent *event, guint32 seqnum /* flush events */ GstEvent * gst_event_new_flush_start (void); GstEvent * gst_event_new_flush_stop (void); +GstEvent * gst_event_new_live_flush (void); /* EOS event */ GstEvent * gst_event_new_eos (void); -- 1.7.5.4