summaryrefslogtreecommitdiffstats
path: root/ext/ivorbis
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ivorbis')
-rw-r--r--ext/ivorbis/vorbis.c18
-rw-r--r--ext/ivorbis/vorbisfile.c28
2 files changed, 21 insertions, 25 deletions
diff --git a/ext/ivorbis/vorbis.c b/ext/ivorbis/vorbis.c
index b543f88f..4a95c14e 100644
--- a/ext/ivorbis/vorbis.c
+++ b/ext/ivorbis/vorbis.c
@@ -37,7 +37,7 @@ vorbis_caps_factory (void)
return
gst_caps_new (
"tremor_tremor",
- "application/x-ogg",
+ "application/ogg",
NULL);
}
@@ -47,10 +47,8 @@ raw_caps_factory (void)
return
gst_caps_new (
"tremor_raw",
- "audio/raw",
+ "audio/x-raw-int",
gst_props_new (
- "format", GST_PROPS_STRING ("int"),
- "law", GST_PROPS_INT (0),
"endianness", GST_PROPS_INT (G_BYTE_ORDER),
"signed", GST_PROPS_BOOLEAN (TRUE),
"width", GST_PROPS_INT (16),
@@ -66,18 +64,18 @@ raw_caps2_factory (void)
return
gst_caps_new (
"tremor_raw_float",
- "audio/raw",
+ "audio/x-raw-float",
gst_props_new (
- "format", GST_PROPS_STRING ("float"),
- "layout", GST_PROPS_STRING ("IEEE"),
+ "depth", GST_PROPS_INT (32),
+ "endianness", GST_PROPS_INT (G_BYTE_ORDER),
"rate", GST_PROPS_INT_RANGE (11025, 48000),
- "channels", GST_PROPS_INT (2),
+ "channels", GST_PROPS_INT (2), /* ?? */
NULL));
}
static GstTypeDefinition vorbisdefinition = {
"tremor_audio/x-ogg",
- "application/x-ogg",
+ "application/ogg",
".ogg",
vorbis_type_find,
};
@@ -90,7 +88,7 @@ vorbis_type_find (GstBuffer *buf, gpointer private)
if (head != 0x4F676753)
return NULL;
- return gst_caps_new ("vorbis_type_find", "application/x-ogg", NULL);
+ return gst_caps_new ("vorbis_type_find", "application/ogg", NULL);
}
diff --git a/ext/ivorbis/vorbisfile.c b/ext/ivorbis/vorbisfile.c
index 76763f22..3e869e1d 100644
--- a/ext/ivorbis/vorbisfile.c
+++ b/ext/ivorbis/vorbisfile.c
@@ -82,7 +82,7 @@ GstElementDetails ivorbisfile_details =
"GPL",
"Decodes OGG Vorbis audio using the Tremor vorbisfile API",
VERSION,
- "Monty <monty@xiph.org>, "
+ "Monty <monty@xiph.org>\n"
"Wim Taymans <wim.taymans@chello.be>",
"(C) 2000",
};
@@ -448,26 +448,24 @@ static gboolean
gst_ivorbisfile_new_link (Ivorbisfile *ivorbisfile, gint link)
{
vorbis_info *vi = ov_info (&ivorbisfile->vf, link);
+ GstCaps *newcaps;
/* new logical bitstream */
ivorbisfile->current_link = link;
gst_ivorbisfile_update_metadata (ivorbisfile, link);
gst_ivorbisfile_update_streaminfo (ivorbisfile, link);
-
- if (gst_pad_try_set_caps (ivorbisfile->srcpad,
- GST_CAPS_NEW ("vorbisdec_src",
- "audio/raw",
- "format", GST_PROPS_STRING ("int"),
- "law", GST_PROPS_INT (0),
- "endianness", GST_PROPS_INT (G_BYTE_ORDER),
- "signed", GST_PROPS_BOOLEAN (TRUE),
- "width", GST_PROPS_INT (16),
- "depth", GST_PROPS_INT (16),
- "rate", GST_PROPS_INT (vi->rate),
- "channels", GST_PROPS_INT (vi->channels)
- )) <= 0)
- {
+
+ newcaps = GST_CAPS_NEW ("vorbisdec_src",
+ "audio/x-raw-int",
+ "endianness", GST_PROPS_INT (G_BYTE_ORDER),
+ "signed", GST_PROPS_BOOLEAN (TRUE),
+ "width", GST_PROPS_INT (16),
+ "depth", GST_PROPS_INT (16),
+ "rate", GST_PROPS_INT (vi->rate),
+ "channels", GST_PROPS_INT (vi->channels)
+ );
+ if (gst_pad_try_set_caps (ivorbisfile->srcpad, newcaps) <= 0) {
return FALSE;
}