gstreamer/gst/asfdemux/gstasf.c

67 lines
2 KiB
C
Raw Normal View History

/* 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 <gst/gst.h>
#include <gst/riff/riff-read.h>
#include "gst/gst-i18n-plugin.h"
#include "gstasfdemux.h"
#include "gstrtspwms.h"
asfdemux ported to 0.10. Does still need a bit of work (seems like there's something funky going on when timestamping... Original commit message from CVS: * configure.ac: * gst/asfdemux/asfheaders.c: (gst_asf_identify_guid), (gst_asf_get_guid_nick): * gst/asfdemux/asfheaders.h: * gst/asfdemux/gstasf.c: (plugin_init): * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init), (gst_asf_demux_class_init), (gst_asf_demux_init), (gst_asf_demux_sink_event), (gst_asf_demux_handle_seek_event), (gst_asf_demux_handle_src_event), (gst_asf_demux_get_current_offset), (gst_asf_demux_chain), (gst_asf_demux_skip_bytes), (gst_asf_demux_identify_guid), (gst_asf_demux_get_uint8), (gst_asf_demux_get_uint16), (gst_asf_demux_get_uint32), (gst_asf_demux_get_uint64), (gst_asf_demux_get_var_length), (gst_asf_demux_get_buffer), (gst_asf_demux_get_bytes), (gst_asf_demux_get_string), (gst_asf_demux_get_guid), (gst_asf_demux_get_obj_file), (gst_asf_demux_get_bitrate_record), (gst_asf_demux_get_obj_comment), (gst_asf_demux_get_obj_header), (gst_asf_demux_get_obj_header_ext), (gst_asf_demux_get_obj_stream), (gst_asf_demux_get_replicated_data), (gst_asf_demux_get_obj_data), (gst_asf_demux_get_obj_data_correction), (gst_asf_demux_get_stream_audio), (gst_asf_demux_get_stream_correction), (gst_asf_demux_get_stream_video), (gst_asf_demux_get_stream_video_format), (gst_asf_demux_get_stream), (gst_asf_demux_setup_pad), (gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream), (gst_asf_demux_process_stream), (gst_asf_demux_get_gst_tag_from_tag_name), (gst_asf_demux_commit_taglist), (gst_asf_demux_process_ext_content_desc), (gst_asf_demux_get_object_header), (gst_asf_demux_process_data), (gst_asf_demux_process_header), (gst_asf_demux_process_file), (gst_asf_demux_process_comment), (gst_asf_demux_process_bitrate_props_object), (gst_asf_demux_process_header_ext), (gst_asf_demux_process_object), (gst_asf_demux_descramble_segment), (gst_asf_demux_element_send_event), (gst_asf_demux_send_event_unlocked), (gst_asf_demux_push_buffer), (gst_asf_demux_process_chunk), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data), (gst_asf_demux_parse_data), (gst_asf_demux_get_src_query_types), (gst_asf_demux_handle_src_query), (gst_asf_demux_change_state): * gst/asfdemux/gstasfdemux.h: asfdemux ported to 0.10. Does still need a bit of work (seems like there's something funky going on when timestamping video frames). The seeking code is likely to make Wim cry, but hey, at least it compiles.
2006-02-15 15:48:07 +00:00
/* #include "gstasfmux.h" */
static gboolean
plugin_init (GstPlugin * plugin)
{
GST_DEBUG_CATEGORY_INIT (asfdemux_dbg, "asfdemux", 0, "asf demuxer element");
#ifdef ENABLE_NLS
GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE,
LOCALEDIR);
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
#endif /* ENABLE_NLS */
gst_riff_init ();
if (!gst_element_register (plugin, "asfdemux", GST_RANK_SECONDARY,
GST_TYPE_ASF_DEMUX)) {
return FALSE;
}
if (!gst_element_register (plugin, "rtspwms", GST_RANK_SECONDARY,
GST_TYPE_RTSP_WMS)) {
return FALSE;
}
/*
if (!gst_element_register (plugin, "asfmux", GST_RANK_NONE, GST_TYPE_ASFMUX))
return FALSE;
*/
return TRUE;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
"asf",
"Demuxes and muxes audio and video in Microsofts ASF format",
plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)