Top | ![]() |
![]() |
![]() |
![]() |
GstFlowReturn | gst_base_src_wait_playing () |
GstFlowReturn | gst_base_src_start_wait () |
void | gst_base_src_start_complete () |
gboolean | gst_base_src_is_live () |
void | gst_base_src_set_live () |
void | gst_base_src_set_format () |
gboolean | gst_base_src_query_latency () |
guint | gst_base_src_get_blocksize () |
void | gst_base_src_set_blocksize () |
gboolean | gst_base_src_get_do_timestamp () |
void | gst_base_src_set_do_timestamp () |
void | gst_base_src_set_dynamic_size () |
void | gst_base_src_set_automatic_eos () |
gboolean | gst_base_src_new_seamless_segment () |
gboolean | gst_base_src_set_caps () |
void | gst_base_src_get_allocator () |
GstBufferPool * | gst_base_src_get_buffer_pool () |
gboolean | gst_base_src_is_async () |
void | gst_base_src_set_async () |
#define | GST_BASE_SRC_PAD() |
#define | GST_BASE_SRC_IS_STARTED() |
#define | GST_BASE_SRC_IS_STARTING() |
guint | blocksize | Read / Write |
gboolean | do-timestamp | Read / Write |
gint | num-buffers | Read / Write |
gboolean | typefind | Read / Write |
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstBaseSrc ╰── GstPushSrc
void gst_base_src_start_complete (GstBaseSrc *basesrc
,GstFlowReturn ret
);
gboolean gst_base_src_query_latency (GstBaseSrc *src
,gboolean *live
,GstClockTime *min_latency
,GstClockTime *max_latency
);
void gst_base_src_set_do_timestamp (GstBaseSrc *src
,gboolean timestamp
);
void gst_base_src_set_dynamic_size (GstBaseSrc *src
,gboolean dynamic
);
void gst_base_src_set_automatic_eos (GstBaseSrc *src
,gboolean automatic_eos
);
gboolean gst_base_src_new_seamless_segment (GstBaseSrc *src
,gint64 start
,gint64 stop
,gint64 time
);
void gst_base_src_get_allocator (GstBaseSrc *src
,GstAllocator **allocator
,GstAllocationParams *params
);
#define GST_BASE_SRC_IS_STARTED(obj) GST_OBJECT_FLAG_IS_SET ((obj), GST_BASE_SRC_FLAG_STARTED)
struct GstBaseSrcClass { GstElementClass parent_class; /* virtual methods for subclasses */ /* get caps from subclass */ GstCaps* (*get_caps) (GstBaseSrc *src, GstCaps *filter); /* decide on caps */ gboolean (*negotiate) (GstBaseSrc *src); /* called if, in negotiation, caps need fixating */ GstCaps * (*fixate) (GstBaseSrc *src, GstCaps *caps); /* notify the subclass of new caps */ gboolean (*set_caps) (GstBaseSrc *src, GstCaps *caps); /* setup allocation query */ gboolean (*decide_allocation) (GstBaseSrc *src, GstQuery *query); /* start and stop processing, ideal for opening/closing the resource */ gboolean (*start) (GstBaseSrc *src); gboolean (*stop) (GstBaseSrc *src); /* given a buffer, return start and stop time when it should be pushed * out. The base class will sync on the clock using these times. */ void (*get_times) (GstBaseSrc *src, GstBuffer *buffer, GstClockTime *start, GstClockTime *end); /* get the total size of the resource in the format set by * gst_base_src_set_format() */ gboolean (*get_size) (GstBaseSrc *src, guint64 *size); /* check if the resource is seekable */ gboolean (*is_seekable) (GstBaseSrc *src); /* Prepare the segment on which to perform do_seek(), converting to the * current basesrc format. */ gboolean (*prepare_seek_segment) (GstBaseSrc *src, GstEvent *seek, GstSegment *segment); /* notify subclasses of a seek */ gboolean (*do_seek) (GstBaseSrc *src, GstSegment *segment); /* unlock any pending access to the resource. subclasses should unlock * any function ASAP. */ gboolean (*unlock) (GstBaseSrc *src); /* Clear any pending unlock request, as we succeeded in unlocking */ gboolean (*unlock_stop) (GstBaseSrc *src); /* notify subclasses of a query */ gboolean (*query) (GstBaseSrc *src, GstQuery *query); /* notify subclasses of an event */ gboolean (*event) (GstBaseSrc *src, GstEvent *event); /* ask the subclass to create a buffer with offset and size, the default * implementation will call alloc and fill. */ GstFlowReturn (*create) (GstBaseSrc *src, guint64 offset, guint size, GstBuffer **buf); /* ask the subclass to allocate an output buffer. The default implementation * will use the negotiated allocator. */ GstFlowReturn (*alloc) (GstBaseSrc *src, guint64 offset, guint size, GstBuffer **buf); /* ask the subclass to fill the buffer with data from offset and size */ GstFlowReturn (*fill) (GstBaseSrc *src, guint64 offset, guint size, GstBuffer *buf); };
“blocksize”
property“blocksize” guint
Size in bytes to read per buffer (-1 = default).
Flags: Read / Write
Default value: 4096
“do-timestamp”
property“do-timestamp” gboolean
Apply current stream time to buffers.
Flags: Read / Write
Default value: FALSE
“num-buffers”
property“num-buffers” gint
Number of buffers to output before sending EOS (-1 = unlimited).
Flags: Read / Write
Allowed values: >= -1
Default value: -1
“typefind”
property“typefind” gboolean
Run typefind before negotiating.
Flags: Read / Write
Default value: FALSE