mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
40b740126e
Original commit message from CVS: * gst/mpegstream/gstmpegdemux.c: * gst/mpegstream/gstmpegdemux.h: Complete overhaul. All DVD specific functionality split to the new dvddemux element. * gst/mpegstream/gstdvddemux.c: * gst/mpegstream/gstdvddemux.h: New demultiplexer for DVD (VOB) streams, derived from mpegdemux. * gst/mpegstream/gstmpegparse.c: Discontinuity handling cleaned up. SCR based timestamp rewriting can be turned off (will probably completely disappear soon). * ext/dvdnav/dvdnavsrc.c: Changes resulting from a few months hacking. General cleanup. All printf statements replaced by debugging messages. Almost complete libdvdnav support. (dvdnavsrc_class_init): Got rid of unnecessary signals (replaced by events. New properties for audio and subpicture languages. (dvdnavsrc_update_highlight): Now uses events. (dvdnavsrc_user_op): Cleaned up. (dvdnavsrc_get): Renamed to dvdnavsrc_loop (element is now loop based). Lots of cleanup, and propper support for most libdvdnav events. (dvdnavsrc_make_dvd_event): New function. (dvdnavsrc_make_dvd_nav_packet_event): New function. (dvdnavsrc_make_clut_change_event): New function.
53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
/* GStreamer
|
|
* Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
#include "gstmpegparse.h"
|
|
#include "gstmpegdemux.h"
|
|
#include "gstdvddemux.h"
|
|
#include "gstrfc2250enc.h"
|
|
|
|
static gboolean
|
|
plugin_init (GstPlugin * plugin)
|
|
{
|
|
/* short-circuit here; this is potentially dangerous since if the second
|
|
* or third init fails then the whole plug-in will be placed on the register
|
|
* stack again and the first _init will be called more than once
|
|
* and wtay wants to use dlclose at some point in the future */
|
|
|
|
if (!gst_library_load ("gstbytestream"))
|
|
return FALSE;
|
|
|
|
if (!gst_mpeg_parse_plugin_init (plugin) ||
|
|
!gst_mpeg_demux_plugin_init (plugin) ||
|
|
!gst_dvd_demux_plugin_init (plugin) ||
|
|
!gst_rfc2250_enc_plugin_init (plugin))
|
|
return FALSE;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
|
GST_VERSION_MINOR,
|
|
"mpegstream",
|
|
"MPEG system stream parser",
|
|
plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
|