• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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