[gstreamermm: 42/167] removed some bad-building methods from event, probably it should be repaired in the future
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gstreamermm: 42/167] removed some bad-building methods from event, probably it should be repaired in the future
- Date: Tue, 3 Sep 2013 19:22:36 +0000 (UTC)
commit e6f27dd48414461cc3176eb01695331f4647ae8a
Author: Marcin Kolny at Flytronic <marcin kolny flytronic pl>
Date: Fri Jul 26 10:52:46 2013 +0200
removed some bad-building methods from event, probably it should be repaired in the future
gstreamer/src/event.ccg | 226 +-----------------------------
gstreamer/src/event.hg | 342 +---------------------------------------------
gstreamer/src/segment.hg | 3 +
tools/m4/convert_gst.m4 | 2 +
4 files changed, 15 insertions(+), 558 deletions(-)
---
diff --git a/gstreamer/src/event.ccg b/gstreamer/src/event.ccg
index 8f63e96..b957b31 100644
--- a/gstreamer/src/event.ccg
+++ b/gstreamer/src/event.ccg
@@ -68,139 +68,13 @@ bool Event::is_serialized() const
return GST_EVENT_IS_SERIALIZED(gobj());
}
-EventFlushStart::EventFlushStart(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventFlushStart> EventFlushStart::create()
-{
- GstEvent* event = gst_event_new_flush_start();
- return Glib::wrap(event, false);
-}
-
-EventFlushStop::EventFlushStop(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventFlushStop> EventFlushStop::create()
-{
- GstEvent* event = gst_event_new_flush_stop();
- return Glib::wrap(event, false);
-}
-
-EventEos::EventEos(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventEos> EventEos::create()
-{
- GstEvent* event = gst_event_new_eos();
- return Glib::wrap(event, false);
-}
-
-EventNewSegment::EventNewSegment(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventNewSegment>
- EventNewSegment::create(bool update, double rate, Format format,
- gint64 start, gint64 stop, gint64 position, double applied_rate)
-{
- GstEvent* event = gst_event_new_new_segment_full(update, rate, applied_rate,
- GstFormat(format), start, stop, position);
- return Glib::wrap(event, false);
-}
-
-void EventNewSegment::parse(bool& update, double& rate, Format& format,
- gint64& start, gint64& stop, gint64& position) const
-{
- gboolean gst_update = FALSE;
- gst_event_parse_new_segment(const_cast<GstEvent*>(gobj()), &gst_update,
- &rate, (GstFormat*)&format, &start, &stop, &position);
- update = gst_update;
-}
-
-void EventNewSegment::parse(bool& update, double& rate, Format& format,
- gint64& start, gint64& stop, gint64& position, double& applied_rate) const
-{
- gboolean gst_update = FALSE;
- gst_event_parse_new_segment_full(const_cast<GstEvent*>(gobj()), &gst_update,
- &rate, &applied_rate, (GstFormat*)&format, &start, &stop, &position);
- update = gst_update;
-}
-
-gint64 EventNewSegment::parse() const
-{
- gint64 gst_position = 0;
- gst_event_parse_new_segment_full(const_cast<GstEvent*>(gobj()), 0, 0, 0, 0,
- 0, 0, &gst_position);
- return gst_position;
-}
-
-bool EventNewSegment::parse_update() const
-{
- gboolean gst_update = FALSE;
- gst_event_parse_new_segment_full(const_cast<GstEvent*>(gobj()), &gst_update,
- 0, 0, 0, 0, 0, 0);
- return gst_update;
-}
-
-double EventNewSegment::parse_rate() const
-{
- double gst_rate = 0;
- gst_event_parse_new_segment_full(const_cast<GstEvent*>(gobj()), 0, &gst_rate,
- 0, 0, 0, 0, 0);
- return gst_rate;
-}
-
-Gst::Format EventNewSegment::parse_format() const
-{
- GstFormat gst_format = GST_FORMAT_UNDEFINED;
- gst_event_parse_new_segment_full(const_cast<GstEvent*>(gobj()), 0, 0, 0,
- &gst_format, 0, 0, 0);
- return static_cast<Gst::Format>(gst_format);
-}
-
-double EventNewSegment::parse_applied_rate() const
-{
- double gst_applied_rate = 0;
- gst_event_parse_new_segment_full(const_cast<GstEvent*>(gobj()), 0, 0,
- &gst_applied_rate, 0, 0, 0, 0);
- return gst_applied_rate;
-}
-
-EventTag::EventTag(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventTag> EventTag::create(const Gst::TagList& taglist)
-{
- //We create a copy because gst_event_new_tag() takes ownership:
- GstTagList* c_taglist = gst_tag_list_copy(taglist.gobj());
- GstEvent* event = gst_event_new_tag(c_taglist);
- return Glib::wrap(event, false);
-}
-
Gst::TagList EventTag::parse() const
{
- GstTagList* gst_taglist = gst_tag_list_new();
+ GstTagList* gst_taglist = gst_tag_list_new_empty();
gst_event_parse_tag(const_cast<GstEvent*>(gobj()), &gst_taglist);
return Gst::TagList(gst_taglist);
}
-EventBufferSize::EventBufferSize(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventBufferSize>
- EventBufferSize::create(Format format, gint64 minsize, gint64 maxsize,
- bool async)
-{
- GstEvent* event = gst_event_new_buffer_size(GstFormat(format), minsize,
- maxsize, async);
- return Glib::wrap(event, false);
-}
-
void EventBufferSize::parse(Format& format, gint64& minsize, gint64& maxsize,
bool& async) const
{
@@ -241,61 +115,35 @@ bool EventBufferSize::parse_async() const
return gst_async;
}
-EventQos::EventQos(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventQos> EventQos::create(double proportion,
- ClockTimeDiff diff, ClockTime timestamp)
-{
- GstEvent* event = gst_event_new_qos(proportion, GstClockTimeDiff(diff),
- GstClockTime(timestamp));
- return Glib::wrap(event, false);
-}
-
-void EventQos::parse(double& proportion, ClockTimeDiff& diff,
+void EventQos::parse(QOSType& type, double& proportion, ClockTimeDiff& diff,
ClockTime& timestamp) const
{
- gst_event_parse_qos(const_cast<GstEvent*>(gobj()), &proportion, &diff,
+ gst_event_parse_qos(const_cast<GstEvent*>(gobj()), (GstQOSType*)&type, &proportion, &diff,
×tamp);
}
double EventQos::parse() const
{
double gst_proportion = 0;
- gst_event_parse_qos(const_cast<GstEvent*>(gobj()), &gst_proportion, 0, 0);
+ gst_event_parse_qos(const_cast<GstEvent*>(gobj()), 0, &gst_proportion, 0, 0);
return gst_proportion;
}
Gst::ClockTimeDiff EventQos::parse_diff() const
{
GstClockTimeDiff gst_diff = 0;
- gst_event_parse_qos(const_cast<GstEvent*>(gobj()), 0, &gst_diff, 0);
+
+ gst_event_parse_qos(const_cast<GstEvent*>(gobj()), 0, 0, &gst_diff, 0);
return gst_diff;
}
Gst::ClockTime EventQos::parse_timestamp() const
{
GstClockTime gst_timestamp = 0;
- gst_event_parse_qos(const_cast<GstEvent*>(gobj()), 0, 0, &gst_timestamp);
+ gst_event_parse_qos(const_cast<GstEvent*>(gobj()), 0, 0, 0, &gst_timestamp);
return gst_timestamp;
}
-EventSeek::EventSeek(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventSeek> EventSeek::create(double rate, Format format,
- SeekFlags flags, SeekType start_type, gint64 start, SeekType stop_type,
- gint64 stop)
-{
- GstEvent* event = gst_event_new_seek(rate, GstFormat(format),
- GstSeekFlags(flags), GstSeekType(start_type), start,
- GstSeekType(stop_type), stop);
-
- return Glib::wrap(event, false);
-}
-
void EventSeek::parse(double& rate, Format& format, SeekFlags& flags,
SeekType& start_type, gint64& start, SeekType& stop_type, gint64& stop) const
{
@@ -360,29 +208,6 @@ gint64 EventSeek::parse_stop() const
return gst_stop;
}
-EventNavigation::EventNavigation(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventNavigation>
- EventNavigation::create(Gst::Structure& structure)
-{
- // Make copy because event takes ownership of structure:
- GstStructure* copy = gst_structure_copy(structure.gobj());
- GstEvent* event = gst_event_new_navigation(copy);
- return Glib::wrap(event, false);
-}
-
-EventLatency::EventLatency(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventLatency> EventLatency::create(ClockTime time)
-{
- GstEvent* event = gst_event_new_latency(GstClockTime(time));
- return Glib::wrap(event, false);
-}
-
ClockTime EventLatency::parse() const
{
GstClockTime gst_latency = 0;
@@ -390,19 +215,6 @@ ClockTime EventLatency::parse() const
return gst_latency;
}
-EventStep::EventStep(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventStep>
- EventStep::create(Gst::Format format, guint64 amount, double rate,
- bool flush, bool intermediate)
-{
- GstEvent* event = gst_event_new_step(static_cast<GstFormat>(format),
- amount, rate, flush, intermediate);
- return Glib::wrap(event, false);
-}
-
void EventStep::parse(Gst::Format& format, guint64& amount, double& rate,
bool& flush, bool& intermediate) const
{
@@ -453,29 +265,5 @@ bool EventStep::parse_intermediate() const
return gst_intermediate;
}
-EventSinkMessage::EventSinkMessage(GstEvent* castitem) :
-Event(castitem)
-{}
-
-Glib::RefPtr<Gst::EventSinkMessage>
- EventSinkMessage::create(const Glib::RefPtr<Gst::Message>& msg)
-{
- GstEvent* event = gst_event_new_sink_message(msg->gobj());
- return Glib::wrap(event, false);
-}
-
-Glib::RefPtr<Gst::Message> EventSinkMessage::parse()
-{
- GstMessage* gst_msg = 0;
- gst_event_parse_sink_message(gobj(), &gst_msg);
- return Glib::wrap(gst_msg);
-}
-
-Glib::RefPtr<const Gst::Message> EventSinkMessage::parse() const
-{
- GstMessage* gst_msg = 0;
- gst_event_parse_sink_message(const_cast<GstEvent*>(gobj()), &gst_msg);
- return Glib::wrap(gst_msg);
-}
} //namespace Gst
diff --git a/gstreamer/src/event.hg b/gstreamer/src/event.hg
index 2ce21b3..a17cfb7 100644
--- a/gstreamer/src/event.hg
+++ b/gstreamer/src/event.hg
@@ -21,6 +21,7 @@
#include <gstreamermm/miniobject.h>
#include <gstreamermm/format.h>
#include <gstreamermm/clock.h>
+#include <gstreamermm/segment.h>
_DEFS(gstreamermm,gst)
@@ -65,8 +66,7 @@ enum EventType
};
_WRAP_ENUM(EventTypeFlags, GstEventTypeFlags)
-_WRAP_ENUM(SeekType, GstSeekType)
-_WRAP_ENUM(SeekFlags, GstSeekFlags)
+_WRAP_ENUM(QOSType, GstQOSType)
class Message;
class Structure;
@@ -168,9 +168,6 @@ public:
*/
_MEMBER_GET(timestamp, timestamp, ClockTime, guint64)
- /** The source Gst::Object that generated this event.
- */
- _MEMBER_GET_GOBJECT(source, src, Gst::Object, GstObject*)
};
//TODO: Modify create methods of derived Event classes to return
@@ -183,74 +180,20 @@ public:
*/
class EventFlushStart : public Event
{
-public:
- explicit EventFlushStart(GstEvent* event);
-
- /** Allocate a new flush start event. The flush start event can be sent
- * upstream and downstream and travels out-of-bounds with the dataflow.
- *
- * It marks pads as being flushing and will make them return
- * Gst::FLOW_WRONG_STATE when used for data flow with Gst::Pad::push(),
- * Gst::Pad::chain(), Gst::Pad::alloc_buffer(), Gst::Pad::get_range() and
- * Gst::Pad::pull_range(). Any event (except a Gst::EVENT_FLUSH_STOP)
- * received on a flushing pad will return false immediately.
- *
- * Elements should unlock any blocking functions and exit their streaming
- * functions as fast as possible when this event is received.
- *
- * This event is typically generated after a seek to flush out all queued
- * data in the pipeline so that the new media is played as soon as possible.
- *
- * @return A new flush start event.
- */
- static Glib::RefPtr<Gst::EventFlushStart> create();
};
/** A flush stop event. See create() for more details.
*/
class EventFlushStop : public Event
{
-public:
- explicit EventFlushStop(GstEvent* event);
- /** Allocate a new flush stop event. The flush stop event can be sent
- * upstream and downstream and travels out-of-bounds with the dataflow. It is
- * typically sent after sending a Gst::EventFlushStart event to make the pads
- * accept data again.
- *
- * Elements can process this event synchronized with the dataflow since the
- * preceeding Gst::EventFlushStart event stopped the dataflow.
- *
- * This event is typically generated to complete a seek and to resume
- * dataflow.
- *
- * @return A new flush stop event.
- */
- static Glib::RefPtr<Gst::EventFlushStop> create();
};
/** An end of stream event. See create() for more details.
*/
class EventEos : public Event
{
-public:
- explicit EventEos(GstEvent* event);
- /** Create a new EOS event. The eos event can only travel downstream
- * synchronized with the buffer flow. Elements that receive the EOS event on
- * a pad can return Gst::FLOW_UNEXPECTED as a Gst::FlowReturn when data after
- * the EOS event arrives.
- *
- * The EOS event will travel down to the sink elements in the pipeline which
- * will then post the Gst::MESSAGE_EOS on the bus after they have finished
- * playing any buffered data.
- *
- * When all sinks have posted an EOS message, an EOS message is forwarded to
- * the application.
- *
- * @return The new EOS event.
- */
- static Glib::RefPtr<Gst::EventEos> create();
};
/** A new segment event. See create() for more details.
@@ -258,145 +201,8 @@ public:
class EventNewSegment : public Event
{
public:
- explicit EventNewSegment(GstEvent* event);
-
- /** Allocate a new newsegment event with the given format/values tripplets
- *
- * The newsegment event marks the range of buffers to be processed. All data
- * not within the segment range is not to be processed. This can be used
- * intelligently by plugins to apply more efficient methods of skipping
- * unneeded data.
- *
- * The position value of the segment is used in conjunction with the start
- * value to convert the buffer timestamps into the stream time. This is
- * usually done in sinks to report the current stream_time. position
- * represents the stream_time of a buffer carrying a timestamp of start.
- * position cannot be -1.
- *
- * start cannot be -1, stop can be -1. If there is a valid stop given, it
- * must be greater or equal the start, including when the indicated playback
- * rate is < 0.
- *
- * The applied_rate value provides information about any rate adjustment that
- * has already been made to the timestamps and content on the buffers of the
- * stream. (rate * applied_rate) should always equal the rate that has been
- * requested for playback. For example, if an element has an input segment
- * with intended playback rate of 2.0 and applied_rate of 1.0, it can adjust
- * incoming timestamps and buffer content by half and output a newsegment
- * event with rate of 1.0 and applied_rate of 2.0
- *
- * After a newsegment event, the buffer stream time is calculated with:
- *
- * position + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)
- *
- * @param update Is this segment an update to a previous one.
- * @param rate A new rate for playback.
- * @param format The format of the segment values.
- * @param start The start value of the segment.
- * @param stop The stop value of the segment.
- * @param position Stream position.
- * @param applied_rate The rate factor which has already been applied.
- * @return A new newsegment event.
- *
- * Since 0.10.6
- */
- static Glib::RefPtr<Gst::EventNewSegment> create(bool update, double rate,
- Format format, gint64 strat, gint64 stop, gint64 position,
- double applied_rate = 1.0);
-
- /** Get the update flag, rate, format, start, stop and position in the
- * newsegment event.
- *
- * @param update A reference to store the update flag of the segment.
- * @param rate A reference to store the rate of the segment.
- * @param format A reference to store the format of the newsegment values.
- * @param start A reference to store the start value in.
- * @param stop A reference to store the stop value in.
- * @param position A reference to store the stream time in.
- */
- void parse(bool& update, double& rate, Format& format, gint64& start,
- gint64& stop, gint64& position) const;
- _IGNORE(gst_event_parse_new_segment)
-
- /** Get the update, rate, format, start, stop, position and applied_rate in
- * the newsegment event. See create() for a full description of the
- * newsegment event.
- *
- * @param update A reference to store the update flag of the segment.
- * @param rate A reference to store the rate of the segment.
- * @param format A reference to store the format of the newsegment values.
- * @param start A reference to store the start value in.
- * @param stop A reference to store the stop value in.
- * @param position A reference to store the stream time in.
- * @param applied_rate A reference to store the applied_rate of the segment.
- *
- * Since 0.10.6.
- */
- void parse(bool& update, double& rate, Format& format, gint64& start,
- gint64& stop, gint64& position, double& applied_rate) const;
- _IGNORE(gst_event_parse_new_segment_full)
-
- /** Get the position in the newsegment event. See create() for a full
- * description of the newsegment event.
- * @return The position.
- *
- * Since 0.10.6.
- */
- gint64 parse() const;
-
- /** Get the update in the newsegment event. See create() for a full
- * description of the newsegment event.
- *
- * @return The update.
- *
- * Since 0.10.6.
- */
- bool parse_update() const;
-
- /** Get the rate in the newsegment event. See create() for a full description
- * of the newsegment event.
- *
- * @return The rate.
- *
- * Since 0.10.6.
- */
- double parse_rate() const;
-
- /** Get the format in the newsegment event. See create() for a full
- * description of the newsegment event.
- *
- * @return The format.
- *
- * Since 0.10.6.
- */
- Format parse_format() const;
- /** Get the start in the newsegment event. See create() for a full
- * description of the newsegment event.
- *
- * @return The start.
- *
- * Since 0.10.6.
- */
- gint64 parse_start() const;
-
- /** Get the stop in the newsegment event. See create() for a full description
- * of the newsegment event.
- *
- * @return The stop.
- *
- * Since 0.10.6.
- */
- gint64 parse_stop() const;
- /** Get the applied_rate in the newsegment event. See create() for a full
- * description of the newsegment event.
- *
- * @return The applied rate.
- *
- * Since 0.10.6.
- */
- double parse_applied_rate() const;
};
/** A tag event.
@@ -404,8 +210,6 @@ public:
class EventTag : public Event
{
public:
- explicit EventTag(GstEvent* event);
-
/** Generates a metadata tag event from the given taglist.
* @param taglist Metadata list.
* @return A new Gst::Event.
@@ -481,47 +285,7 @@ public:
class EventQos : public Event
{
public:
- explicit EventQos(GstEvent* event);
- /** Allocate a new qos event with the given values. The QOS event is
- * generated in an element that wants an upstream element to either reduce or
- * increase its rate because of high/low CPU load or other resource usage
- * such as network performance. Typically sinks generate these events for
- * each buffer they receive.
- *
- * proportion indicates the real-time performance of the streaming in the
- * element that generated the QoS event (usually the sink). The value is
- * generally computed based on more long term statistics about the streams
- * timestamps compared to the clock. A value < 1.0 indicates that the
- * upstream element is producing data faster than real-time. A value > 1.0
- * indicates that the upstream element is not producing data fast enough. 1.0
- * is the ideal proportion value. The proportion value can safely be used to
- * lower or increase the quality of the element.
- *
- * diff is the difference against the clock in running time of the last
- * buffer that caused the element to generate the QOS event. A negative value
- * means that the buffer with timestamp arrived in time. A positive value
- * indicates how late the buffer with timestamp was.
- *
- * timestamp is the timestamp of the last buffer that cause the element to
- * generate the QOS event. It is expressed in running time and thus an ever
- * increasing value.
- *
- * The upstream element can use the diff and timestamp values to decide
- * whether to process more buffers. For possitive diff, all buffers with
- * timestamp <= timestamp + diff will certainly arrive late in the sink as
- * well.
- *
- * The application can use general event probes to intercept the QoS event
- * and implement custom application specific QoS handling.
- *
- * @param proportion The proportion of the qos message.
- * @param diff The time difference of the last clock sync.
- * @param timestamp The timestamp of the buffer.
- * @return A new QOS event.
- */
- static Glib::RefPtr<Gst::EventQos> create(double proportion,
- ClockTimeDiff diff, ClockTime timestamp);
/** Get the proportion, diff and timestamp in the qos event. See create() for
* more information about the different QoS values.
@@ -530,7 +294,7 @@ public:
* @param diff A reference to store the diff in.
* @param timestamp A reference to store the timestamp in.
*/
- void parse(double& proportion, ClockTimeDiff& diff, ClockTime& timestamp) const;
+ void parse(QOSType& type, double& proportion, ClockTimeDiff& diff, ClockTime& timestamp) const;
_IGNORE(gst_event_parse_qos)
/** Get the proportion in the qos event. See create() for more information
@@ -559,51 +323,6 @@ public:
class EventSeek : public Event
{
public:
- explicit EventSeek(GstEvent* event);
-
- /** Allocate a new seek event with the given parameters.
- *
- * The seek event configures playback of the pipeline between start to stop
- * at the speed given in rate, also called a playback segment. The start and
- * stop values are expressed in format.
- *
- * A rate of 1.0 means normal playback rate, 2.0 means double speed.
- * Negatives values means backwards playback. A value of 0.0 for the rate is
- * not allowed and should be accomplished instead by PAUSING the pipeline.
- *
- * A pipeline has a default playback segment configured with a start position
- * of 0, a stop position of -1 and a rate of 1.0. The currently configured
- * playback segment can be queried with Gst::QUERY_SEGMENT.
- *
- * start_type and stop_type specify how to adjust the currently configured
- * start and stop fields in segment. Adjustments can be made relative or
- * absolute to the last configured values. A type of Gst::SEEK_TYPE_NONE
- * means that the position should not be updated.
- *
- * When the rate is positive and start has been updated, playback will start
- * from the newly configured start position.
- *
- * For negative rates, playback will start from the newly configured stop
- * position (if any). If the stop position if updated, it must be different
- * from -1 for negative rates.
- *
- * It is not possible to seek relative to the current playback position, to
- * do this, PAUSE the pipeline, query the current playback position with
- * Gst::QUERY_POSITION and update the playback segment current position with
- * a Gst::SEEK_TYPE_SET to the desired position.
- *
- * @param rate The new playback rate.
- * @param format The format of the seek values.
- * @param flags The optional seek flags.
- * @param start_type The type and flags for the new start position.
- * @param start The value of the new start position.
- * @param stop_type The type and flags for the new stop position.
- * @param stop The value of the new stop position.
- * @return A new seek event.
- */
- static Glib::RefPtr<Gst::EventSeek> create(double rate, Format format,
- SeekFlags flags, SeekType start_type, gint64 start, SeekType stop_type,
- gint64 stop);
/** Parses a seek event and stores the results in the given result locations.
*
@@ -663,14 +382,6 @@ public:
class EventNavigation : public Event
{
public:
- explicit EventNavigation(GstEvent* event);
-
- /** Create a new navigation event from the given description.
- *
- * @param structure Description of the event.
- * @return A new Gst::EventNavigation.
- */
- static Glib::RefPtr<Gst::EventNavigation> create(Gst::Structure& structure);
};
/** A latency event. See create() for more details.
@@ -707,33 +418,7 @@ public:
class EventStep : public Event
{
public:
- explicit EventStep(GstEvent* event);
- /** Create a new step event. The purpose of the step event is to instruct a
- * sink to skip @a amount (expressed in @a format) of media. It can be used
- * to implement stepping through the video frame by frame or for doing fast
- * trick modes.
- *
- * A rate of <= 0.0 is not allowed, pause the pipeline or reverse the
- * playback direction of the pipeline to get the same effect.
- *
- * The @a flush flag will clear any pending data in the pipeline before
- * starting the step operation.
- *
- * The @a intermediate flag instructs the pipeline that this step operation
- * is part of a larger step operation.
- *
- * @param format The format of amount.
- * @param amount The amount of data to step.
- * @param rate The step rate.
- * @param flush Flushing steps.
- * @param intermediate Intermediate steps.
- * @return A new Gst::Event.
- *
- * Since 0.10.24.
- */
- static Glib::RefPtr<Gst::EventStep> create(Gst::Format format,
- guint64 amount, double rate, bool flush, bool intermediate);
/** Parse the step event.
*
@@ -778,28 +463,7 @@ public:
class EventSinkMessage : public Event
{
public:
- explicit EventSinkMessage(GstEvent* event);
- /** Create a new sink-message event. The purpose of the sink-message event
- * is to instruct a sink to post the message contained in the event
- * synchronized with the stream.
- *
- * @param msg The message to be posted.
- * @return A new Gst::EventSinkMessage.
- */
- static Glib::RefPtr<Gst::EventSinkMessage>
- create(const Glib::RefPtr<Gst::Message>& message);
-
- /** Parse the sink-message event.
- * @return the sink-messge's event message.
- */
- Glib::RefPtr<Gst::Message> parse();
- _IGNORE(gst_event_parse_sink_message)
-
- /** Parse the sink-message event.
- * @return the sink-messge's event message.
- */
- Glib::RefPtr<const Gst::Message> parse() const;
};
} //namespace Gst
diff --git a/gstreamer/src/segment.hg b/gstreamer/src/segment.hg
index 5719bcc..8cb47bd 100644
--- a/gstreamer/src/segment.hg
+++ b/gstreamer/src/segment.hg
@@ -26,6 +26,9 @@ _DEFS(gstreamermm,gst)
namespace Gst
{
+ _WRAP_ENUM(SeekType, GstSeekType)
+ _WRAP_ENUM(SeekFlags, GstSeekFlags)
+
/** A class that describes the configured region of interest in a media file.
* This helper structure holds the relevant values for tracking the region of
* interest in a media file, called a segment.
diff --git a/tools/m4/convert_gst.m4 b/tools/m4/convert_gst.m4
index 5ce0caa..92e47bc 100644
--- a/tools/m4/convert_gst.m4
+++ b/tools/m4/convert_gst.m4
@@ -35,6 +35,7 @@ _CONV_ENUM(Gst,PadLinkCheck)
_CONV_ENUM(Gst,PadLinkReturn)
_CONV_ENUM(Gst,PadPresence)
_CONV_ENUM(Gst,PluginDependencyFlags)
+_CONV_ENUM(Gst,QOSType)
_CONV_ENUM(Gst,QueryType)
_CONV_ENUM(Gst,Rank)
_CONV_ENUM(Gst,SeekFlags)
@@ -116,6 +117,7 @@ _CONVERSION(`const Glib::RefPtr<Gst::ElementFactory>&',`GstElementFactory*', `Gl
dnl Event
_CONVERSION(`const Glib::RefPtr<Gst::Event>&',`GstEvent*', `Glib::unwrap($3)')
+_CONVERSION(`GstEvent*',`const Glib::RefPtr<Gst::Event>&', `Glib::wrap($3)')
dnl Index
_CONVERSION(`GstIndex*',`Glib::RefPtr<Gst::Index>',`Glib::wrap($3)')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]