[Bug 412647]
Chris Double
412647 at bugs.launchpad.net
Tue Oct 19 00:06:46 UTC 2010
Comment on attachment 465180
finding supported gstreamer codec/demuxer plugins
>+ if (nsnull == supportedCodecs) {
>+#ifdef MOZ_GSTREAMER
>+ NS_ConvertUTF16toUTF8 CodecTypeUTF8(token);
>+ if (!IsGstSupportedType(CodecTypeUTF8.get()))
>+ return CANPLAY_NO;
>+#endif
>+ } else {
>+ if (!CodecListContains(supportedCodecs, token)) {
>+ // Totally unsupported codec
>+ return CANPLAY_NO;
>+ }
If MOZ_GSTREAMER is mot defined then we have the empty if condition and
the else is ever executed. Can you restructure this to avoid that.
>+ * The Initial Developer of the Original Code is the Mozilla
Corporation.
Apparently this should be 'Mozilla Foundation' not 'Mozilla
Corporation'. I realize lots of existing media code probably still has
Corporation sadly. You should take the header from the official
boilerplate rather than copying it from other files. See here:
http://weblogs.mozillazine.org/gerv/archives/2010/02/mpl_initial_developer_for_mozilla_employ.html
>+ * Portions created by the Initial Developer are Copyright (C) 2007
Change year from 2007 to 2010.
>+struct _GstCodecDetails {
>+ char klass[255]; // video/audio/demux
>+ char feature[25]; //mimetype
>+};
Use 2 space indents.
>+ if (g_strrstr (gst_element_factory_get_klass (f), ((GstCodecDetails
*)data)->klass)) {
Use C++ style casts. static_cast, reinterpret_cast, etc. This applies
everywhere you are doing casts.
>+ GstStaticPadTemplate *pad_template;
>+ GList *template_list = f->staticpadtemplates;
>+ for (pad_template = (GstStaticPadTemplate *) template_list->data;
>+ pad_template;
>+ pad_template = (template_list = template_list->next) ? (GstStaticPadTemplate *) template_list->data : NULL) {
>+ if (g_strrstr(pad_template->name_template, "sink") && g_strrstr(pad_template->static_caps.string, ((GstCodecDetails *)data)->feature)) {
>+ NS_GSTREAMER_LOG(("caps:%s, feature:%s\n", pad_template->static_caps.string, GST_PLUGIN_FEATURE_NAME(feature)));
>+ return TRUE;
>+ }
>+ }
>+ }
>+ return FALSE;
>+}
Restructure code so it fits within 80 characters.
>+ /* Initialisation */
>+ gst_init_check(0, 0, NULL);
The docs for gst_init_check say:
"This function should be called before calling any other GLib
functions. "
How are you ensuring this is the case? Also, check return value.
--
Firefox is not able to play mp4 <video> tags
https://bugs.launchpad.net/bugs/412647
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to Mozilla.
More information about the Ubuntu-mozillateam-bugs
mailing list