case GST_FORMAT_DEFAULT:
case GST_FORMAT_BYTES:
gst_query_set_position (query, GST_FORMAT_BYTES, fdsink->current_pos);
- return TRUE;
+ res = TRUE;
+ break;
default:
- return FALSE;
+ break;
}
-
+ break;
+ }
case GST_QUERY_FORMATS:
gst_query_set_formats (query, 2, GST_FORMAT_DEFAULT, GST_FORMAT_BYTES);
- return TRUE;
-
+ res = TRUE;
+ break;
case GST_QUERY_URI:
gst_query_set_uri (query, fdsink->uri);
- return TRUE;
-
+ res = TRUE;
+ break;
+ case GST_QUERY_SEEKING:
+ gst_query_parse_seeking (query, &format, NULL, NULL, NULL);
+ if (format == GST_FORMAT_BYTES || format == GST_FORMAT_DEFAULT) {
+ gst_query_set_seeking (query, GST_FORMAT_BYTES, fdsink->seekable, 0,
+ -1);
+ } else {
+ gst_query_set_seeking (query, format, FALSE, 0, -1);
+ }
- return TRUE;
-
++ res = TRUE;
++ break;
default:
- return GST_BASE_SINK_CLASS (parent_class)->query (bsink, query);
+ res = GST_BASE_SINK_CLASS (parent_class)->query (bsink, query);
+ break;
+
}
+ return res;
}
static GstFlowReturn