diff options
Diffstat (limited to 'ext/ivorbis')
-rw-r--r-- | ext/ivorbis/vorbis.c | 18 | ||||
-rw-r--r-- | ext/ivorbis/vorbisfile.c | 28 |
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; } |