diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/gnomevfs/gstgnomevfssrc.c | 53 |
1 files changed, 36 insertions, 17 deletions
diff --git a/ext/gnomevfs/gstgnomevfssrc.c b/ext/gnomevfs/gstgnomevfssrc.c index 624cf66ab..87c8d29ae 100644 --- a/ext/gnomevfs/gstgnomevfssrc.c +++ b/ext/gnomevfs/gstgnomevfssrc.c @@ -132,23 +132,42 @@ static GstElementDetails gst_gnomevfssrc_details = GST_ELEMENT_DETAILS ( "Bastien Nocera <hadess@hadess.net>" ); -GST_PAD_FORMATS_FUNCTION (gst_gnomevfssrc_get_formats, - GST_FORMAT_BYTES -) - -GST_PAD_QUERY_TYPE_FUNCTION (gst_gnomevfssrc_get_query_types, - GST_QUERY_TOTAL, - GST_QUERY_POSITION -) - -GST_PAD_EVENT_MASK_FUNCTION (gst_gnomevfssrc_get_event_mask, - { GST_EVENT_SEEK, GST_SEEK_METHOD_CUR | - GST_SEEK_METHOD_SET | - GST_SEEK_METHOD_END | - GST_SEEK_FLAG_FLUSH }, - { GST_EVENT_FLUSH, 0 }, - { GST_EVENT_SIZE, 0 } -) + +static const GstFormat * +gst_gnomevfssrc_get_formats (GstPad *pad) +{ + static const GstFormat formats[] = { + GST_FORMAT_BYTES, + 0, + }; + return formats; +} + +static const GstQueryType * +gst_gnomevfssrc_get_query_types (GstPad *pad) +{ + static const GstQueryType types[] = { + GST_QUERY_TOTAL, + GST_QUERY_POSITION, + 0, + }; + return types; +} + +static const GstEventMask * +gst_gnomevfssrc_get_event_mask (GstPad *pad) +{ + static const GstEventMask masks[] = { + { GST_EVENT_SEEK, GST_SEEK_METHOD_CUR | + GST_SEEK_METHOD_SET | + GST_SEEK_METHOD_END | + GST_SEEK_FLAG_FLUSH }, + { GST_EVENT_FLUSH, 0 }, + { GST_EVENT_SIZE, 0 }, + { 0, 0 }, + }; + return masks; +} /* GnomeVFSSrc signals and args */ enum { |