1
2 /* GStreamer
3 * Copyright (C) <2008> Sebastian Dröge <sebastian.droege@collabora.co.uk>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 */
20 #ifdef HAVE_CONFIG_H
21 #include <config.h>
22 #endif
23
24 #include <gst/gst.h>
25
26 #include "gstmxfelements.h"
27 #include "mxfquark.h"
28 #include "mxfdemux.h"
29 #include "mxfmux.h"
30 /*#include "mxfdms1.h"*/
31 #include "mxfaes-bwf.h"
32 #include "mxfalaw.h"
33 #include "mxfd10.h"
34 #include "mxfdv-dif.h"
35 #include "mxfjpeg2000.h"
36 #include "mxfmpeg.h"
37 #include "mxfup.h"
38 #include "mxfvc3.h"
39 #include "mxfprores.h"
40 #include "mxfvanc.h"
41
42 GST_DEBUG_CATEGORY (mxf_debug);
43 #define GST_CAT_DEFAULT mxf_debug
44
45 static void
mxf_init(void)46 mxf_init (void)
47 {
48 gst_tag_register (GST_TAG_MXF_UMID, GST_TAG_FLAG_META,
49 G_TYPE_STRING, "UMID", "Unique Material Identifier", NULL);
50 gst_tag_register (GST_TAG_MXF_STRUCTURE, GST_TAG_FLAG_META,
51 GST_TYPE_STRUCTURE, "Structure", "Structural metadata of "
52 "the MXF file", NULL);
53 gst_tag_register (GST_TAG_MXF_DESCRIPTIVE_METADATA_FRAMEWORK,
54 GST_TAG_FLAG_META, GST_TYPE_STRUCTURE, "DM Framework",
55 "Descriptive metadata framework", NULL);
56 }
57
58 void
mxf_element_init(GstPlugin * plugin)59 mxf_element_init (GstPlugin * plugin)
60 {
61 static gsize res = FALSE;
62
63 if (g_once_init_enter (&res)) {
64 GST_DEBUG_CATEGORY_INIT (mxf_debug, "mxf", 0, "MXF");
65
66 mxf_init ();
67 mxf_quark_initialize ();
68 mxf_metadata_init_types ();
69 /* mxf_dms1_initialize (); */
70 mxf_aes_bwf_init ();
71 mxf_alaw_init ();
72 mxf_d10_init ();
73 mxf_dv_dif_init ();
74 mxf_jpeg2000_init ();
75 mxf_mpeg_init ();
76 mxf_up_init ();
77 mxf_vc3_init ();
78 mxf_prores_init ();
79 mxf_vanc_init ();
80 g_once_init_leave (&res, TRUE);
81 }
82 }
83