summaryrefslogtreecommitdiffstats
path: root/gst/wavparse
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2003-07-06 20:49:52 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2003-07-06 20:49:52 +0000
commit292fec2a0bd1f221a46ad69c5100995d04c01057 (patch)
tree658db299e0e03b2454ff840730569d79539e67c4 /gst/wavparse
parenta8183e9a3fa87cf4247c7df16207f440ea4069c0 (diff)
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
Original commit message from CVS: New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
Diffstat (limited to 'gst/wavparse')
-rw-r--r--gst/wavparse/gstwavparse.c55
1 files changed, 29 insertions, 26 deletions
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c
index f8966fc1..52ee103a 100644
--- a/gst/wavparse/gstwavparse.c
+++ b/gst/wavparse/gstwavparse.c
@@ -79,9 +79,7 @@ GST_PAD_TEMPLATE_FACTORY (src_template_factory,
GST_PAD_ALWAYS,
GST_CAPS_NEW (
"wavparse_raw",
- "audio/raw",
- "format", GST_PROPS_STRING ("int"),
- "law", GST_PROPS_INT (0),
+ "audio/x-raw-int",
"endianness", GST_PROPS_INT (G_LITTLE_ENDIAN),
"signed", GST_PROPS_LIST (
GST_PROPS_BOOLEAN (FALSE),
@@ -99,18 +97,21 @@ GST_PAD_TEMPLATE_FACTORY (src_template_factory,
"channels", GST_PROPS_INT_RANGE (1, 2)
),
GST_CAPS_NEW (
- "wavparse_mp3",
- "audio/x-mp3",
- NULL
+ "wavparse_mpeg",
+ "audio/mpeg",
+ "rate", GST_PROPS_INT_RANGE (8000, 48000),
+ "channels", GST_PROPS_INT_RANGE (1, 2),
+ "layer", GST_PROPS_INT_RANGE (1, 3)
),
GST_CAPS_NEW (
"parsewav_law",
- "audio/raw",
- "format", GST_PROPS_STRING ("int"),
- "law", GST_PROPS_INT_RANGE (1, 2),
- "endianness", GST_PROPS_INT (G_LITTLE_ENDIAN),
- "width", GST_PROPS_INT (8),
- "depth", GST_PROPS_INT (8),
+ "audio/x-alaw",
+ "rate", GST_PROPS_INT_RANGE (8000, 48000),
+ "channels", GST_PROPS_INT_RANGE (1, 2)
+ ),
+ GST_CAPS_NEW (
+ "parsewav_law",
+ "audio/x-mulaw",
"rate", GST_PROPS_INT_RANGE (8000, 48000),
"channels", GST_PROPS_INT_RANGE (1, 2)
)
@@ -371,29 +372,26 @@ gst_wavparse_chain (GstPad *pad, GstBuffer *buf)
switch (wavparse->format)
{
case GST_RIFF_WAVE_FORMAT_ALAW:
- case GST_RIFF_WAVE_FORMAT_MULAW:
+ case GST_RIFF_WAVE_FORMAT_MULAW: {
+ gchar *mime = (wavparse->format == GST_RIFF_WAVE_FORMAT_ALAW) ?
+ "audio/x-alaw" : "audio/x-mulaw";
if (!(wavparse->width == 8)) {
- gst_element_error (GST_ELEMENT (wavparse), "wavparse: invalid wave file");
+ g_warning("Ignoring invalid width %d",
+ wavparse->width);
return;
}
caps = GST_CAPS_NEW (
"parsewav_src",
- "audio/raw",
- "format", GST_PROPS_STRING ("int"),
- "law", GST_PROPS_INT (wavparse->format == GST_RIFF_WAVE_FORMAT_ALAW ? 2 : 1),
- "endianness", GST_PROPS_INT (G_LITTLE_ENDIAN),
- "width", GST_PROPS_INT (8),
- "depth", GST_PROPS_INT (8),
+ mime,
"rate", GST_PROPS_INT (wavparse->rate),
"channels", GST_PROPS_INT (wavparse->channels)
);
+ }
break;
case GST_RIFF_WAVE_FORMAT_PCM:
caps = GST_CAPS_NEW (
"parsewav_src",
- "audio/raw",
- "format", GST_PROPS_STRING ("int"),
- "law", GST_PROPS_INT (0),
+ "audio/x-raw-int",
"endianness", GST_PROPS_INT (G_LITTLE_ENDIAN),
"signed", GST_PROPS_BOOLEAN ((wavparse->width > 8) ? TRUE : FALSE),
"width", GST_PROPS_INT (wavparse->width),
@@ -403,13 +401,18 @@ gst_wavparse_chain (GstPad *pad, GstBuffer *buf)
);
break;
case GST_RIFF_WAVE_FORMAT_MPEGL12:
- case GST_RIFF_WAVE_FORMAT_MPEGL3:
+ case GST_RIFF_WAVE_FORMAT_MPEGL3: {
+ gint layer = (wavparse->format == GST_RIFF_WAVE_FORMAT_MPEGL12) ? 2 : 3;
caps = GST_CAPS_NEW (
"parsewav_src",
- "audio/x-mp3",
- NULL
+ "audio/mpeg",
+ "layer", GST_PROPS_INT (layer),
+ "rate", GST_PROPS_INT (wavparse->rate),
+ "channels", GST_PROPS_INT (wavparse->channels)
);
+ }
break;
+
default:
gst_element_error (GST_ELEMENT (wavparse), "wavparse: format %d not handled", wavparse->format);
return;