GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_static_pad_template (element_class, &src_factory);
- gst_element_class_add_static_pad_template (element_class,
- &wvc_src_factory);
+ gst_element_class_add_static_pad_template (element_class, &wvc_src_factory);
gst_element_class_add_static_pad_template (element_class, &sink_factory);
gst_element_class_set_details_simple (element_class, "Wavpack parser",
gst_wavpack_parse_class_init (GstWavpackParseClass * klass)
{
GObjectClass *gobject_class;
-
GstElementClass *gstelement_class;
gobject_class = (GObjectClass *) klass;
gint64 sample_offset)
{
gint i;
-
GSList *node;
if (wvparse->entries == NULL)
gst_wavpack_parse_src_query (GstPad * pad, GstQuery * query)
{
GstWavpackParse *parse = GST_WAVPACK_PARSE (gst_pad_get_parent (pad));
-
GstFormat format;
-
gboolean ret = FALSE;
switch (GST_QUERY_TYPE (query)) {
gint64 sample, gint64 * byte_offset, gint64 * start_sample)
{
GstWavpackParseIndexEntry *entry;
-
GstFlowReturn ret;
-
gint64 off = 0;
/* first, check if we have to scan at all */
/* now scan forward until we find the chunk we're looking for or hit EOS */
do {
WavpackHeader header;
-
GstBuffer *buf;
buf = gst_wavpack_parse_pull_buffer (parse, off, sizeof (WavpackHeader),
GstSegment *s = &wvparse->segment;
gboolean ret;
-
gint64 stop_time = -1;
-
gint64 start_time = 0;
-
gint64 cur_pos_time;
-
gint64 diff;
/* segment is in DEFAULT format, but we want to send a TIME newsegment */
GstEvent * event)
{
GstSeekFlags seek_flags;
-
GstSeekType start_type;
-
GstSeekType stop_type;
-
GstSegment segment;
-
GstFormat format;
-
gboolean only_update;
-
gboolean flush, ret;
-
gdouble speed;
-
gint64 stop;
-
gint64 start; /* sample we want to seek to */
-
gint64 byte_offset; /* byte offset the chunk we seek to starts at */
-
gint64 chunk_start; /* first sample in chunk we seek to */
-
guint rate;
-
gint64 last_stop;
if (wvparse->adapter) {
gst_wavpack_parse_sink_event (GstPad * pad, GstEvent * event)
{
GstWavpackParse *parse;
-
gboolean ret = TRUE;
parse = GST_WAVPACK_PARSE (gst_pad_get_parent (pad));
gst_wavpack_parse_src_event (GstPad * pad, GstEvent * event)
{
GstWavpackParse *parse;
-
gboolean ret;
parse = GST_WAVPACK_PARSE (gst_pad_get_parent (pad));
gst_wavpack_parse_init (GstWavpackParse * parse, GstWavpackParseClass * gclass)
{
GstElementClass *klass = GST_ELEMENT_GET_CLASS (parse);
-
GstPadTemplate *tmpl;
tmpl = gst_element_class_get_pad_template (klass, "sink");
gst_wavpack_parse_get_upstream_length (GstWavpackParse * parse)
{
gint64 length = -1;
-
GstFormat format = GST_FORMAT_BYTES;
if (!gst_pad_query_peer_duration (parse->sinkpad, &format, &length)) {
guint size, GstFlowReturn * flow)
{
GstFlowReturn flow_ret;
-
GstBuffer *buf = NULL;
if (offset + size > wvparse->upstream_length) {
WavpackHeader * header)
{
GstWavpackMetadata meta;
-
GstCaps *caps = NULL;
-
guchar *bufptr;
g_assert (wvparse->srcpad == NULL);
WavpackHeader * header)
{
GstFlowReturn ret;
- wvparse->current_offset += header->ckSize + 8;
+ wvparse->current_offset += header->ckSize + 8;
wvparse->segment.last_stop = header->block_index;
if (wvparse->need_newsegment) {
static guint8 *
gst_wavpack_parse_find_marker (guint8 * buf, guint size)
{
- int i;
-
+ gint i;
guint8 *ret = NULL;
if (G_UNLIKELY (size < 4))
gst_wavpack_parse_resync_loop (GstWavpackParse * parse, WavpackHeader * header)
{
GstFlowReturn flow_ret = GST_FLOW_UNEXPECTED;
-
GstBuffer *buf = NULL;
/* loop until we have a frame header or reach the end of the stream */
gst_wavpack_parse_loop (GstElement * element)
{
GstWavpackParse *parse = GST_WAVPACK_PARSE (element);
-
GstFlowReturn flow_ret;
WavpackHeader header = { {0,}, 0, };
GstBuffer *buf = NULL;
gst_wavpack_parse_resync_adapter (GstAdapter * adapter)
{
const guint8 *buf, *marker;
-
guint avail = gst_adapter_available (adapter);
if (avail < 4)
gst_wavpack_parse_chain (GstPad * pad, GstBuffer * buf)
{
GstWavpackParse *wvparse = GST_WAVPACK_PARSE (GST_PAD_PARENT (pad));
-
GstFlowReturn ret = GST_FLOW_OK;
-
WavpackHeader wph;
-
const guint8 *tmp_buf;
if (!wvparse->adapter) {
gst_wavpack_parse_change_state (GstElement * element, GstStateChange transition)
{
GstWavpackParse *wvparse = GST_WAVPACK_PARSE (element);
-
GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
switch (transition) {