Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 1 | /* GStreamer |
| 2 | * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> |
| 3 | * Copyright (C) <2003> David A. Schleef <ds@schleef.org> |
| 4 | * Copyright (C) <2006> Wim Taymans <wim@fluendo.com> |
| 5 | * |
| 6 | * This library is free software; you can redistribute it and/or |
| 7 | * modify it under the terms of the GNU Library General Public |
| 8 | * License as published by the Free Software Foundation; either |
| 9 | * version 2 of the License, or (at your option) any later version. |
| 10 | * |
| 11 | * This library is distributed in the hope that it will be useful, |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 14 | * Library General Public License for more details. |
| 15 | * |
| 16 | * You should have received a copy of the GNU Library General Public |
| 17 | * License along with this library; if not, write to the |
Tim-Philipp Müller | 230cf41 | 2012-11-04 00:07:18 +0000 | [diff] [blame] | 18 | * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, |
| 19 | * Boston, MA 02110-1301, USA. |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 20 | */ |
| 21 | |
| 22 | #ifdef HAVE_CONFIG_H |
| 23 | #include "config.h" |
| 24 | #endif |
| 25 | #include "gst/gst-i18n-plugin.h" |
| 26 | |
| 27 | #include "qtdemux.h" |
| 28 | #include "gstrtpxqtdepay.h" |
Tim-Philipp Müller | 4d78029 | 2011-04-13 11:25:11 +0100 | [diff] [blame] | 29 | #include "gstqtmux.h" |
| 30 | #include "gstqtmoovrecover.h" |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 31 | |
Arun Raghavan | c65305d | 2010-04-30 21:00:31 +0530 | [diff] [blame] | 32 | #include <gst/pbutils/pbutils.h> |
| 33 | |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 34 | static gboolean |
| 35 | plugin_init (GstPlugin * plugin) |
| 36 | { |
| 37 | #ifdef ENABLE_NLS |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 38 | bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); |
Tim-Philipp Müller | 2199592 | 2009-03-25 15:42:15 +0000 | [diff] [blame] | 39 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 40 | #endif /* ENABLE_NLS */ |
| 41 | |
Arun Raghavan | c65305d | 2010-04-30 21:00:31 +0530 | [diff] [blame] | 42 | gst_pb_utils_init (); |
| 43 | |
Mark Nauwelaerts | 455e24c | 2009-01-05 11:42:09 +0000 | [diff] [blame] | 44 | /* ensure private tag is registered */ |
| 45 | gst_tag_register (GST_QT_DEMUX_PRIVATE_TAG, GST_TAG_FLAG_META, |
Mark Nauwelaerts | dd25411 | 2012-07-27 12:05:44 +0200 | [diff] [blame] | 46 | GST_TYPE_SAMPLE, "QT atom", "unparsed QT tag atom", |
Mark Nauwelaerts | 455e24c | 2009-01-05 11:42:09 +0000 | [diff] [blame] | 47 | gst_tag_merge_use_first); |
| 48 | |
Marco Ballesio | 94d5d24 | 2009-04-15 20:10:04 +0300 | [diff] [blame] | 49 | gst_tag_register (GST_QT_DEMUX_CLASSIFICATION_TAG, GST_TAG_FLAG_META, |
| 50 | G_TYPE_STRING, GST_QT_DEMUX_CLASSIFICATION_TAG, "content classification", |
| 51 | gst_tag_merge_use_first); |
| 52 | |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 53 | if (!gst_element_register (plugin, "qtdemux", |
| 54 | GST_RANK_PRIMARY, GST_TYPE_QTDEMUX)) |
| 55 | return FALSE; |
| 56 | |
| 57 | if (!gst_element_register (plugin, "rtpxqtdepay", |
| 58 | GST_RANK_MARGINAL, GST_TYPE_RTP_XQT_DEPAY)) |
| 59 | return FALSE; |
| 60 | |
Tim-Philipp Müller | 4d78029 | 2011-04-13 11:25:11 +0100 | [diff] [blame] | 61 | if (!gst_qt_mux_register (plugin)) |
| 62 | return FALSE; |
| 63 | if (!gst_qt_moov_recover_register (plugin)) |
| 64 | return FALSE; |
| 65 | |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 66 | return TRUE; |
| 67 | } |
| 68 | |
| 69 | GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, |
| 70 | GST_VERSION_MINOR, |
Sebastian Dröge | aa2cd46 | 2012-04-05 17:36:38 +0200 | [diff] [blame] | 71 | isomp4, |
Tim-Philipp Müller | c25bf5d | 2011-04-30 17:46:36 +0100 | [diff] [blame] | 72 | "ISO base media file format support (mp4, 3gpp, qt, mj2)", |
Wim Taymans | c7839a6 | 2007-01-12 17:16:51 +0000 | [diff] [blame] | 73 | plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN); |