#include <event.h>
Public Member Functions | |
EventSeek (GstEvent* event) | |
void | parse (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. | |
Static Public Member Functions | |
static Glib::RefPtr<Gst::Event> | create (double rate, Format format, SeekFlags flags, SeekType start_type, gint64 start, SeekType stop_type, gint64 stop) |
Allocate a new seek event with the given parameters. |
See create() for more details.
Gst::EventSeek::EventSeek | ( | GstEvent * | event | ) | [explicit] |
static Glib::RefPtr<Gst::Event> Gst::EventSeek::create | ( | double | rate, | |
Format | format, | |||
SeekFlags | flags, | |||
SeekType | start_type, | |||
gint64 | start, | |||
SeekType | stop_type, | |||
gint64 | stop | |||
) | [static] |
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.
rate | The new playback rate. | |
format | The format of the seek values. | |
flags | The optional seek flags. | |
start_type | The type and flags for the new start position. | |
start | The value of the new start position. | |
stop_type | The type and flags for the new stop position. | |
stop | The value of the new stop position. |
void Gst::EventSeek::parse | ( | 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.
rate | Result location for the rate. | |
format | Result location for the stream format. | |
flags | Result location for the Gst::SeekFlags. | |
start_type | Result location for the Gst::SeekType of the start position. | |
start | Result location for the start postion expressed in format. | |
stop_type | Result location for the Gst::SeekType of the stop position. | |
stop | Result location for the stop postion expressed in format. |