"signed", GST_PROPS_BOOLEAN (TRUE),
"width", GST_PROPS_INT (16),
"depth", GST_PROPS_INT (16),
- "rate", GST_PROPS_INT_RANGE (8000, 48000),
+ "rate", GST_PROPS_LIST (
+ GST_PROPS_INT (16000),
+ GST_PROPS_INT (22050),
+ GST_PROPS_INT (24000),
+ GST_PROPS_INT (32000),
+ GST_PROPS_INT (44100),
+ GST_PROPS_INT (48000)
+ ),
"channels", GST_PROPS_INT_RANGE (1, 2)
)
)
lame = GST_LAME (gst_pad_get_parent (pad));
if (!GST_CAPS_IS_FIXED (caps))
+ {
+ GST_DEBUG (GST_CAT_CAPS, "caps on lame pad %s:%s not fixed, delayed\n",
+ GST_DEBUG_PAD_NAME (pad));
return GST_PAD_CONNECT_DELAYED;
+ }
+ /*
+ GST_INFO (GST_CAT_CAPS, "dumping supplied caps %p\n", caps);
+ gst_caps_debug (caps);
+ GST_INFO (GST_CAT_CAPS, "dumping caps of own pad %s:%s\n", GST_DEBUG_PAD_NAME (pad));
+ */
+ gst_caps_debug (gst_pad_get_caps (pad));
+ /* check if the supplied caps of the peer element are compatible with our own use gst_pad_get_caps because if caps aren't set yet we need the template */
+ if (!gst_caps_check_compatibility (caps, gst_pad_get_caps (pad)))
+ {
+ GST_DEBUG (GST_CAT_CAPS, "peer caps (%p) not compatible with caps of pad %s:%s!\n",
+ caps, GST_DEBUG_PAD_NAME (pad));
+ return GST_PAD_CONNECT_REFUSED;
+ }
lame->samplerate = gst_caps_get_int (caps, "rate");
lame->num_channels = gst_caps_get_int (caps, "channels");
GST_FLAG_SET (lame, GST_ELEMENT_EVENT_AWARE);
- GST_DEBUG (0, "setting up lame encoder\n");
+ GST_DEBUG (GST_CAT_PLUGIN_INFO, "setting up lame encoder\n");
lame->lgf = lame_init ();
lame->samplerate = 44100;
lame->no_short_blocks = lame_get_no_short_blocks (lame->lgf);
lame->emphasis = lame_get_emphasis (lame->lgf);
- GST_DEBUG (0, "done initializing lame element\n");
+ GST_DEBUG (GST_CAT_PLUGIN_INFO, "done initializing lame element\n");
}
lame = GST_LAME (gst_pad_get_parent (pad));
- GST_DEBUG (0, "entered\n");
+ GST_DEBUG (GST_CAT_PLUGIN_INFO, "entered chain\n");
if (!lame->initialized) {
gst_element_error (GST_ELEMENT (lame), "encoder not initialized (input is not audio?)");
mp3_data, mp3_buffer_size);
}
- GST_DEBUG (0, "encoded %d bytes of audio to %d bytes of mp3\n", GST_BUFFER_SIZE (buf), mp3_size);
+ GST_DEBUG (GST_CAT_PLUGIN_INFO, "encoded %d bytes of audio to %d bytes of mp3\n", GST_BUFFER_SIZE (buf), mp3_size);
gst_buffer_unref (buf);
}
}
else {
lame->initialized = TRUE;
+ GST_INFO (GST_CAT_PLUGIN_INFO, "lame encoder initialized");
}
GST_DEBUG_LEAVE ("");