mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 00:36:51 +00:00
adaptivedemux2: Prevent duplicate symbols on static builds
Uses prelude header files with #defines to rename DASH and MSS symbols duplicated in their old standalone versions. Also redefines soup-related functions when building it for adaptivedemux2 to prevent symbol conflicts there. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2534>
This commit is contained in:
parent
bb84a533bf
commit
0a2c490723
17 changed files with 290 additions and 18 deletions
|
@ -0,0 +1,165 @@
|
||||||
|
/* GStreamer
|
||||||
|
* Copyright (C) 2022 GStreamer developers
|
||||||
|
*
|
||||||
|
* 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.1 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 (COPYING); if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GST_MPD_PRELUDE_H__
|
||||||
|
#define __GST_MPD_PRELUDE_H__
|
||||||
|
|
||||||
|
#define gst_mpd_adaptation_set_node_free gst_mpd_adaptation_set_node2_free
|
||||||
|
#define gst_mpd_adaptation_set_node_get_type gst_mpd_adaptation_set_node2_get_type
|
||||||
|
#define gst_mpd_adaptation_set_node_new gst_mpd_adaptation_set_node2_new
|
||||||
|
#define gst_mpd_baseurl_node_free gst_mpd_baseurl_node2_free
|
||||||
|
#define gst_mpd_baseurl_node_get_type gst_mpd_baseurl_node2_get_type
|
||||||
|
#define gst_mpd_baseurl_node_new gst_mpd_baseurl_node2_new
|
||||||
|
#define gst_mpd_content_component_node_free gst_mpd_content_component_node2_free
|
||||||
|
#define gst_mpd_content_component_node_get_type gst_mpd_content_component_node2_get_type
|
||||||
|
#define gst_mpd_content_component_node_new gst_mpd_content_component_node2_new
|
||||||
|
#define gst_mpd_descriptor_type_node_free gst_mpd_descriptor_type_node2_free
|
||||||
|
#define gst_mpd_descriptor_type_node_get_type gst_mpd_descriptor_type_node2_get_type
|
||||||
|
#define gst_mpd_descriptor_type_node_new gst_mpd_descriptor_type_node2_new
|
||||||
|
#define gst_mpd_helper_combine_urls gst_mpd_helper2_combine_urls
|
||||||
|
#define gst_mpd_helper_get_audio_codec_from_mime gst_mpd_helper2_get_audio_codec_from_mime
|
||||||
|
#define gst_mpd_helper_get_mpd_type gst_mpd_helper2_get_mpd_type
|
||||||
|
#define gst_mpd_helper_get_SAP_type gst_mpd_helper2_get_SAP_type
|
||||||
|
#define gst_mpd_helper_get_video_codec_from_mime gst_mpd_helper2_get_video_codec_from_mime
|
||||||
|
#define gst_mpd_helper_mimetype_to_caps gst_mpd_helper2_mimetype_to_caps
|
||||||
|
#define gst_mpd_helper_strncmp_ext gst_mpd_helper2_strncmp_ext
|
||||||
|
#define gst_mpd_location_node_free gst_mpd_location_node2_free
|
||||||
|
#define gst_mpd_location_node_get_type gst_mpd_location_node2_get_type
|
||||||
|
#define gst_mpd_location_node_new gst_mpd_location_node2_new
|
||||||
|
#define gst_mpd_metrics_node_free gst_mpd_metrics_node2_free
|
||||||
|
#define gst_mpd_metrics_node_get_type gst_mpd_metrics_node2_get_type
|
||||||
|
#define gst_mpd_metrics_node_new gst_mpd_metrics_node2_new
|
||||||
|
#define gst_mpd_metrics_range_node_free gst_mpd_metrics_range_node2_free
|
||||||
|
#define gst_mpd_metrics_range_node_get_type gst_mpd_metrics_range_node2_get_type
|
||||||
|
#define gst_mpd_metrics_range_node_new gst_mpd_metrics_range_node2_new
|
||||||
|
#define gst_mpd_mult_segment_base_node_add_child_node gst_mpd_mult_segment_base_node2_add_child_node
|
||||||
|
#define gst_mpd_mult_segment_base_node_get_type gst_mpd_mult_segment_base_node2_get_type
|
||||||
|
#define gst_mpd_node_add_child_node gst_mpd_node2_add_child_node
|
||||||
|
#define gst_mpd_node_get_list_item gst_mpd_node2_get_list_item
|
||||||
|
#define gst_mpd_node_get_type gst_mpd_node2_get_type
|
||||||
|
#define gst_mpd_node_get_xml_buffer gst_mpd_node2_get_xml_buffer
|
||||||
|
#define gst_mpd_node_get_xml_pointer gst_mpd_node2_get_xml_pointer
|
||||||
|
#define gst_mpdparser_build_URL_from_template gst_mpdparser2_build_URL_from_template
|
||||||
|
#define gst_mpdparser_free_active_stream gst_mpdparser2_free_active_stream
|
||||||
|
#define gst_mpdparser_free_media_segment gst_mpdparser2_free_media_segment
|
||||||
|
#define gst_mpdparser_free_stream_period gst_mpdparser2_free_stream_period
|
||||||
|
#define gst_mpdparser_get_external_adaptation_sets gst_mpdparser2_get_external_adaptation_sets
|
||||||
|
#define gst_mpdparser_get_external_periods gst_mpdparser2_get_external_periods
|
||||||
|
#define gst_mpdparser_get_external_segment_list gst_mpdparser2_get_external_segment_list
|
||||||
|
#define gst_mpdparser_get_initializationURL gst_mpdparser2_get_initializationURL
|
||||||
|
#define gst_mpdparser_get_mediaURL gst_mpdparser2_get_mediaURL
|
||||||
|
#define gst_mpdparser_get_mpd_root_node gst_mpdparser2_get_mpd_root_node
|
||||||
|
#define gst_mpdparser_init_active_stream_segments gst_mpdparser2_init_active_stream_segments
|
||||||
|
#define gst_mpdparser_media_fragment_info_clear gst_mpdparser2_media_fragment_info_clear
|
||||||
|
#define gst_mpdparser_representation_get_mimetype gst_mpdparser2_representation_get_mimetype
|
||||||
|
#define gst_mpd_period_node_free gst_mpd_period_node2_free
|
||||||
|
#define gst_mpd_period_node_get_type gst_mpd_period_node2_get_type
|
||||||
|
#define gst_mpd_period_node_new gst_mpd_period_node2_new
|
||||||
|
#define gst_mpd_program_information_node_free gst_mpd_program_information_node2_free
|
||||||
|
#define gst_mpd_program_information_node_get_type gst_mpd_program_information_node2_get_type
|
||||||
|
#define gst_mpd_program_information_node_new gst_mpd_program_information_node2_new
|
||||||
|
#define gst_mpd_reporting_node_free gst_mpd_reporting_node2_free
|
||||||
|
#define gst_mpd_reporting_node_get_type gst_mpd_reporting_node2_get_type
|
||||||
|
#define gst_mpd_reporting_node_new gst_mpd_reporting_node2_new
|
||||||
|
#define gst_mpd_representation_base_node_get_list_item gst_mpd_representation_base_node2_get_list_item
|
||||||
|
#define gst_mpd_representation_base_node_get_type gst_mpd_representation_base_node2_get_type
|
||||||
|
#define gst_mpd_representation_node_free gst_mpd_representation_node2_free
|
||||||
|
#define gst_mpd_representation_node_get_type gst_mpd_representation_node2_get_type
|
||||||
|
#define gst_mpd_representation_node_new gst_mpd_representation_node2_new
|
||||||
|
#define gst_mpd_root_node_free gst_mpd_root_node2_free
|
||||||
|
#define gst_mpd_root_node_get_type gst_mpd_root_node2_get_type
|
||||||
|
#define gst_mpd_root_node_new gst_mpd_root_node2_new
|
||||||
|
#define gst_mpd_segment_base_node_free gst_mpd_segment_base_node2_free
|
||||||
|
#define gst_mpd_segment_base_node_get_type gst_mpd_segment_base_node2_get_type
|
||||||
|
#define gst_mpd_segment_base_node_new gst_mpd_segment_base_node2_new
|
||||||
|
#define gst_mpd_segment_list_node_add_segment gst_mpd_segment_list_node2_add_segment
|
||||||
|
#define gst_mpd_segment_list_node_free gst_mpd_segment_list_node2_free
|
||||||
|
#define gst_mpd_segment_list_node_get_type gst_mpd_segment_list_node2_get_type
|
||||||
|
#define gst_mpd_segment_list_node_new gst_mpd_segment_list_node2_new
|
||||||
|
#define gst_mpd_segment_template_node_free gst_mpd_segment_template_node2_free
|
||||||
|
#define gst_mpd_segment_template_node_get_type gst_mpd_segment_template_node2_get_type
|
||||||
|
#define gst_mpd_segment_template_node_new gst_mpd_segment_template_node2_new
|
||||||
|
#define gst_mpd_segment_timeline_node_clone gst_mpd_segment_timeline_node2_clone
|
||||||
|
#define gst_mpd_segment_timeline_node_free gst_mpd_segment_timeline_node2_free
|
||||||
|
#define gst_mpd_segment_timeline_node_get_type gst_mpd_segment_timeline_node2_get_type
|
||||||
|
#define gst_mpd_segment_timeline_node_new gst_mpd_segment_timeline_node2_new
|
||||||
|
#define gst_mpd_segment_url_node_clone gst_mpd_segment_url_node2_clone
|
||||||
|
#define gst_mpd_segment_url_node_free gst_mpd_segment_url_node2_free
|
||||||
|
#define gst_mpd_segment_url_node_get_type gst_mpd_segment_url_node2_get_type
|
||||||
|
#define gst_mpd_segment_url_node_new gst_mpd_segment_url_node2_new
|
||||||
|
#define gst_mpd_s_node_clone gst_mpd_s_node2_clone
|
||||||
|
#define gst_mpd_s_node_free gst_mpd_s_node2_free
|
||||||
|
#define gst_mpd_s_node_get_type gst_mpd_s_node2_get_type
|
||||||
|
#define gst_mpd_s_node_new gst_mpd_s_node2_new
|
||||||
|
#define gst_mpd_sub_representation_node_free gst_mpd_sub_representation_node2_free
|
||||||
|
#define gst_mpd_sub_representation_node_get_type gst_mpd_sub_representation_node2_get_type
|
||||||
|
#define gst_mpd_sub_representation_node_new gst_mpd_sub_representation_node2_new
|
||||||
|
#define gst_mpd_subset_node_free gst_mpd_subset_node2_free
|
||||||
|
#define gst_mpd_subset_node_get_type gst_mpd_subset_node2_get_type
|
||||||
|
#define gst_mpd_subset_node_new gst_mpd_subset_node2_new
|
||||||
|
#define gst_mpd_url_type_node_clone gst_mpd_url_type_node2_clone
|
||||||
|
#define gst_mpd_url_type_node_free gst_mpd_url_type_node2_free
|
||||||
|
#define gst_mpd_url_type_node_get_type gst_mpd_url_type_node2_get_type
|
||||||
|
#define gst_mpd_url_type_node_new gst_mpd_url_type_node2_new
|
||||||
|
#define gst_mpd_utctiming_get_method gst_mpd_utctiming2_get_method
|
||||||
|
#define gst_mpd_utctiming_get_scheme_id_uri gst_mpd_utctiming2_get_scheme_id_uri
|
||||||
|
#define gst_mpd_utctiming_node_free gst_mpd_utctiming_node2_free
|
||||||
|
#define gst_mpd_utctiming_node_get_type gst_mpd_utctiming_node2_get_type
|
||||||
|
#define gst_mpd_utctiming_node_new gst_mpd_utctiming_node2_new
|
||||||
|
#define gst_xml_helper_clone_frame_rate gst_xml_helper2_clone_frame_rate
|
||||||
|
#define gst_xml_helper_clone_range gst_xml_helper2_clone_range
|
||||||
|
#define gst_xml_helper_clone_ratio gst_xml_helper2_clone_ratio
|
||||||
|
#define gst_xml_helper_get_node_as_string gst_xml_helper2_get_node_as_string
|
||||||
|
#define gst_xml_helper_get_node_content gst_xml_helper2_get_node_content
|
||||||
|
#define gst_xml_helper_get_node_namespace gst_xml_helper2_get_node_namespace
|
||||||
|
#define gst_xml_helper_get_ns_prop_string gst_xml_helper2_get_ns_prop_string
|
||||||
|
#define gst_xml_helper_get_prop_boolean gst_xml_helper2_get_prop_boolean
|
||||||
|
#define gst_xml_helper_get_prop_cond_uint gst_xml_helper2_get_prop_cond_uint
|
||||||
|
#define gst_xml_helper_get_prop_dateTime gst_xml_helper2_get_prop_dateTime
|
||||||
|
#define gst_xml_helper_get_prop_double gst_xml_helper2_get_prop_double
|
||||||
|
#define gst_xml_helper_get_prop_duration gst_xml_helper2_get_prop_duration
|
||||||
|
#define gst_xml_helper_get_prop_framerate gst_xml_helper2_get_prop_framerate
|
||||||
|
#define gst_xml_helper_get_prop_range gst_xml_helper2_get_prop_range
|
||||||
|
#define gst_xml_helper_get_prop_ratio gst_xml_helper2_get_prop_ratio
|
||||||
|
#define gst_xml_helper_get_prop_signed_integer gst_xml_helper2_get_prop_signed_integer
|
||||||
|
#define gst_xml_helper_get_prop_string gst_xml_helper2_get_prop_string
|
||||||
|
#define gst_xml_helper_get_prop_string_no_whitespace gst_xml_helper2_get_prop_string_no_whitespace
|
||||||
|
#define gst_xml_helper_get_prop_string_stripped gst_xml_helper2_get_prop_string_stripped
|
||||||
|
#define gst_xml_helper_get_prop_string_vector_type gst_xml_helper2_get_prop_string_vector_type
|
||||||
|
#define gst_xml_helper_get_prop_uint_vector_type gst_xml_helper2_get_prop_uint_vector_type
|
||||||
|
#define gst_xml_helper_get_prop_unsigned_integer gst_xml_helper2_get_prop_unsigned_integer
|
||||||
|
#define gst_xml_helper_get_prop_unsigned_integer_64 gst_xml_helper2_get_prop_unsigned_integer_64
|
||||||
|
#define gst_xml_helper_get_prop_validated_string gst_xml_helper2_get_prop_validated_string
|
||||||
|
#define gst_xml_helper_set_content gst_xml_helper2_set_content
|
||||||
|
#define gst_xml_helper_set_prop_boolean gst_xml_helper2_set_prop_boolean
|
||||||
|
#define gst_xml_helper_set_prop_cond_uint gst_xml_helper2_set_prop_cond_uint
|
||||||
|
#define gst_xml_helper_set_prop_date_time gst_xml_helper2_set_prop_date_time
|
||||||
|
#define gst_xml_helper_set_prop_double gst_xml_helper2_set_prop_double
|
||||||
|
#define gst_xml_helper_set_prop_duration gst_xml_helper2_set_prop_duration
|
||||||
|
#define gst_xml_helper_set_prop_framerate gst_xml_helper2_set_prop_framerate
|
||||||
|
#define gst_xml_helper_set_prop_int gst_xml_helper2_set_prop_int
|
||||||
|
#define gst_xml_helper_set_prop_int64 gst_xml_helper2_set_prop_int64
|
||||||
|
#define gst_xml_helper_set_prop_range gst_xml_helper2_set_prop_range
|
||||||
|
#define gst_xml_helper_set_prop_ratio gst_xml_helper2_set_prop_ratio
|
||||||
|
#define gst_xml_helper_set_prop_string gst_xml_helper2_set_prop_string
|
||||||
|
#define gst_xml_helper_set_prop_uint gst_xml_helper2_set_prop_uint
|
||||||
|
#define gst_xml_helper_set_prop_uint64 gst_xml_helper2_set_prop_uint64
|
||||||
|
#define gst_xml_helper_set_prop_uint_vector_type gst_xml_helper2_set_prop_uint_vector_type
|
||||||
|
|
||||||
|
#endif /* __GST_MPD_PRELUDE_H__ */
|
|
@ -21,6 +21,7 @@
|
||||||
#ifndef __GST_MPDHELPER_H__
|
#ifndef __GST_MPDHELPER_H__
|
||||||
#define __GST_MPDHELPER_H__
|
#define __GST_MPDHELPER_H__
|
||||||
|
|
||||||
|
#include "gstmpd-prelude.h"
|
||||||
#include "gstxmlhelper.h"
|
#include "gstxmlhelper.h"
|
||||||
#include "gstmpdnode.h"
|
#include "gstmpdnode.h"
|
||||||
#include "gstmpdurltypenode.h"
|
#include "gstmpdurltypenode.h"
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#define __GSTMPDNODE_H__
|
#define __GSTMPDNODE_H__
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
#include "gstmpd-prelude.h"
|
||||||
#include "gstxmlhelper.h"
|
#include "gstxmlhelper.h"
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
#include "gstadaptivedemux.h"
|
#include "gstadaptivedemux.h"
|
||||||
|
|
||||||
|
#include "gstmpd-prelude.h"
|
||||||
#include "gstmpdhelper.h"
|
#include "gstmpdhelper.h"
|
||||||
#include "gstxmlhelper.h"
|
#include "gstxmlhelper.h"
|
||||||
#include "gstmpdrootnode.h"
|
#include "gstmpdrootnode.h"
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <libxml/parser.h>
|
#include <libxml/parser.h>
|
||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
#include "gstmpd-prelude.h"
|
||||||
#include "gstdash_debug.h"
|
#include "gstdash_debug.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
|
@ -174,7 +174,7 @@ typedef struct _GstHLSDemux2Class GstHLSDemux2Class;
|
||||||
|
|
||||||
#define gst_hls_demux2_parent_class parent_class
|
#define gst_hls_demux2_parent_class parent_class
|
||||||
G_DEFINE_TYPE_WITH_CODE (GstHLSDemux2, gst_hls_demux2, GST_TYPE_ADAPTIVE_DEMUX,
|
G_DEFINE_TYPE_WITH_CODE (GstHLSDemux2, gst_hls_demux2, GST_TYPE_ADAPTIVE_DEMUX,
|
||||||
hls_element_init ());
|
hls2_element_init ());
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_hls_demux_finalize (GObject * obj)
|
gst_hls_demux_finalize (GObject * obj)
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
|
|
||||||
#include "gsthlselements.h"
|
#include "gsthlselements.h"
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY (hls_debug);
|
GST_DEBUG_CATEGORY (hls2_debug);
|
||||||
|
|
||||||
void
|
void
|
||||||
hls_element_init (void)
|
hls2_element_init (void)
|
||||||
{
|
{
|
||||||
static gsize res = FALSE;
|
static gsize res = FALSE;
|
||||||
if (g_once_init_enter (&res)) {
|
if (g_once_init_enter (&res)) {
|
||||||
GST_DEBUG_CATEGORY_INIT (hls_debug, "hlsng", 0,
|
GST_DEBUG_CATEGORY_INIT (hls2_debug, "hlsng", 0,
|
||||||
"HTTP Live Streaming (HLS) NG");
|
"HTTP Live Streaming (HLS) NG");
|
||||||
g_once_init_leave (&res, TRUE);
|
g_once_init_leave (&res, TRUE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
void hls_element_init (void);
|
void hls2_element_init (void);
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_EXTERN (hls_debug);
|
GST_DEBUG_CATEGORY_EXTERN (hls2_debug);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
#include "gstadaptivedemux.h"
|
#include "gstadaptivedemux.h"
|
||||||
#include "gsthlselements.h"
|
#include "gsthlselements.h"
|
||||||
|
|
||||||
#define GST_CAT_DEFAULT hls_debug
|
#define GST_CAT_DEFAULT hls2_debug
|
||||||
|
|
||||||
static void gst_m3u8_init_file_unref (GstM3U8InitFile * self);
|
static void gst_m3u8_init_file_unref (GstM3U8InitFile * self);
|
||||||
static gchar *uri_join (const gchar * uri, const gchar * path);
|
static gchar *uri_join (const gchar * uri, const gchar * path);
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
/* GStreamer
|
||||||
|
* Copyright (C) 2022 GStreamer developers
|
||||||
|
*
|
||||||
|
* 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.1 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 (COPYING); if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GST_MSS_PRELUDE_H__
|
||||||
|
#define __GST_MSS_PRELUDE_H__
|
||||||
|
|
||||||
|
#define gst_mss_manifest_new gst_mss2_manifest_new
|
||||||
|
#define gst_mss_manifest_free gst_mss2_manifest_free
|
||||||
|
#define gst_mss_manifest_get_protection_system_id gst_mss2_manifest_get_protection_system_id
|
||||||
|
#define gst_mss_manifest_get_protection_data gst_mss2_manifest_get_protection_data
|
||||||
|
#define gst_mss_manifest_get_streams gst_mss2_manifest_get_streams
|
||||||
|
#define gst_mss_manifest_get_timescale gst_mss2_manifest_get_timescale
|
||||||
|
#define gst_mss_manifest_get_duration gst_mss2_manifest_get_duration
|
||||||
|
#define gst_mss_manifest_get_gst_duration gst_mss2_manifest_get_gst_duration
|
||||||
|
#define gst_mss_manifest_get_min_fragment_duration gst_mss2_manifest_get_min_fragment_duration
|
||||||
|
#define gst_mss_manifest_seek gst_mss2_manifest_seek
|
||||||
|
#define gst_mss_manifest_live_adapter_clear gst_mss2_manifest_live_adapter_clear
|
||||||
|
#define gst_mss_manifest_get_current_bitrate gst_mss2_manifest_get_current_bitrate
|
||||||
|
#define gst_mss_manifest_is_live gst_mss2_manifest_is_live
|
||||||
|
#define gst_mss_manifest_reload_fragments gst_mss2_manifest_reload_fragments
|
||||||
|
#define gst_mss_manifest_change_bitrate gst_mss2_manifest_change_bitrate
|
||||||
|
#define gst_mss_manifest_get_live_seek_range gst_mss2_manifest_get_live_seek_range
|
||||||
|
#define gst_mss_manifest_live_adapter_push gst_mss2_manifest_live_adapter_push
|
||||||
|
#define gst_mss_manifest_live_adapter_available gst_mss2_manifest_live_adapter_available
|
||||||
|
#define gst_mss_manifest_live_adapter_take_buffer gst_mss2_manifest_live_adapter_take_buffer
|
||||||
|
#define gst_mss_stream_get_type gst_mss2_stream_get_type
|
||||||
|
#define gst_mss_stream_set_active gst_mss2_stream_set_active
|
||||||
|
#define gst_mss_stream_get_timescale gst_mss2_stream_get_timescale
|
||||||
|
#define gst_mss_stream_get_fragment_gst_duration gst_mss2_stream_get_fragment_gst_duration
|
||||||
|
#define gst_mss_stream_get_caps gst_mss2_stream_get_caps
|
||||||
|
#define gst_mss_stream_get_fragment_url gst_mss2_stream_get_fragment_url
|
||||||
|
#define gst_mss_stream_get_fragment_gst_timestamp gst_mss2_stream_get_fragment_gst_timestamp
|
||||||
|
#define gst_mss_stream_has_next_fragment gst_mss2_stream_has_next_fragment
|
||||||
|
#define gst_mss_stream_advance_fragment gst_mss2_stream_advance_fragment
|
||||||
|
#define gst_mss_stream_type_name gst_mss2_stream_type_name
|
||||||
|
#define gst_mss_stream_regress_fragment gst_mss2_stream_regress_fragment
|
||||||
|
#define gst_mss_stream_seek gst_mss2_stream_seek
|
||||||
|
#define gst_mss_stream_select_bitrate gst_mss2_stream_select_bitrate
|
||||||
|
#define gst_mss_stream_get_current_bitrate gst_mss2_stream_get_current_bitrate
|
||||||
|
#define gst_mss_stream_get_lang gst_mss2_stream_get_lang
|
||||||
|
#define gst_mss_stream_fragment_parsing_needed gst_mss2_stream_fragment_parsing_needed
|
||||||
|
#define gst_mss_stream_parse_fragment gst_mss2_stream_parse_fragment
|
||||||
|
#define gst_mss_fragment_parser_add_buffer gst_mss2_fragment_parser_add_buffer
|
||||||
|
#define gst_mss_fragment_parser_clear gst_mss2_fragment_parser_clear
|
||||||
|
#define gst_mss_fragment_parser_init gst_mss2_fragment_parser_init
|
||||||
|
|
||||||
|
#endif /* __GST_MSS_PRELUDE_H__ */
|
|
@ -104,7 +104,7 @@ typedef struct _GstMssDemux2Class GstMssDemux2Class;
|
||||||
#define gst_mss_demux2_parent_class parent_class
|
#define gst_mss_demux2_parent_class parent_class
|
||||||
G_DEFINE_TYPE (GstMssDemux2, gst_mss_demux2, GST_TYPE_ADAPTIVE_DEMUX);
|
G_DEFINE_TYPE (GstMssDemux2, gst_mss_demux2, GST_TYPE_ADAPTIVE_DEMUX);
|
||||||
|
|
||||||
#define gst_hls_demux_stream_parent_class stream_parent_class
|
#define gst_mss_demux_stream_parent_class stream_parent_class
|
||||||
G_DEFINE_TYPE (GstMssDemuxStream, gst_mss_demux_stream,
|
G_DEFINE_TYPE (GstMssDemuxStream, gst_mss_demux_stream,
|
||||||
GST_TYPE_ADAPTIVE_DEMUX2_STREAM);
|
GST_TYPE_ADAPTIVE_DEMUX2_STREAM);
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <gst/base/gstadapter.h>
|
#include <gst/base/gstadapter.h>
|
||||||
#include <gst/base/gstdataqueue.h>
|
#include <gst/base/gstdataqueue.h>
|
||||||
#include <gst/gstprotection.h>
|
#include <gst/gstprotection.h>
|
||||||
|
#include "gstmss-prelude.h"
|
||||||
#include "gstmssmanifest.h"
|
#include "gstmssmanifest.h"
|
||||||
#include "../gstadaptivedemux.h"
|
#include "../gstadaptivedemux.h"
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include "../gstisoff.h"
|
#include "../gstisoff.h"
|
||||||
|
#include "gstmss-prelude.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gst/base/gstadapter.h>
|
#include <gst/base/gstadapter.h>
|
||||||
|
#include "gstmss-prelude.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
|
@ -112,11 +112,9 @@ typedef struct _GstSoupVTable
|
||||||
goffset (*_soup_message_headers_get_content_length) (SoupMessageHeaders * hdrs);
|
goffset (*_soup_message_headers_get_content_length) (SoupMessageHeaders * hdrs);
|
||||||
const char *(*_soup_message_headers_get_content_type) (SoupMessageHeaders * hdrs,
|
const char *(*_soup_message_headers_get_content_type) (SoupMessageHeaders * hdrs,
|
||||||
GHashTable ** value);
|
GHashTable ** value);
|
||||||
#ifdef BUILDING_ADAPTIVEDEMUX2
|
|
||||||
gboolean (*_soup_message_headers_get_content_range) (SoupMessageHeaders *hdrs, goffset *start,
|
gboolean (*_soup_message_headers_get_content_range) (SoupMessageHeaders *hdrs, goffset *start,
|
||||||
goffset *end, goffset *total_length);
|
goffset *end, goffset *total_length);
|
||||||
void (*_soup_message_headers_set_range) (SoupMessageHeaders *hdrs, goffset start, goffset end);
|
void (*_soup_message_headers_set_range) (SoupMessageHeaders *hdrs, goffset start, goffset end);
|
||||||
#endif
|
|
||||||
SoupEncoding (*_soup_message_headers_get_encoding) (SoupMessageHeaders * hdrs);
|
SoupEncoding (*_soup_message_headers_get_encoding) (SoupMessageHeaders * hdrs);
|
||||||
const char *(*_soup_message_headers_get_one) (SoupMessageHeaders * hdrs,
|
const char *(*_soup_message_headers_get_one) (SoupMessageHeaders * hdrs,
|
||||||
const char * name);
|
const char * name);
|
||||||
|
@ -280,10 +278,8 @@ gst_soup_load_library (void)
|
||||||
LOAD_SYMBOL (soup_message_headers_foreach);
|
LOAD_SYMBOL (soup_message_headers_foreach);
|
||||||
LOAD_SYMBOL (soup_message_headers_get_content_length);
|
LOAD_SYMBOL (soup_message_headers_get_content_length);
|
||||||
LOAD_SYMBOL (soup_message_headers_get_content_type);
|
LOAD_SYMBOL (soup_message_headers_get_content_type);
|
||||||
#ifdef BUILDING_ADAPTIVEDEMUX2
|
|
||||||
LOAD_SYMBOL (soup_message_headers_get_content_range);
|
LOAD_SYMBOL (soup_message_headers_get_content_range);
|
||||||
LOAD_SYMBOL (soup_message_headers_set_range);
|
LOAD_SYMBOL (soup_message_headers_set_range);
|
||||||
#endif
|
|
||||||
LOAD_SYMBOL (soup_message_headers_get_encoding);
|
LOAD_SYMBOL (soup_message_headers_get_encoding);
|
||||||
LOAD_SYMBOL (soup_message_headers_get_one);
|
LOAD_SYMBOL (soup_message_headers_get_one);
|
||||||
LOAD_SYMBOL (soup_message_headers_remove);
|
LOAD_SYMBOL (soup_message_headers_remove);
|
||||||
|
@ -814,7 +810,6 @@ _soup_message_headers_get_content_type (SoupMessageHeaders * hdrs,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BUILDING_ADAPTIVEDEMUX2
|
|
||||||
gboolean
|
gboolean
|
||||||
_soup_message_headers_get_content_range (SoupMessageHeaders * hdrs,
|
_soup_message_headers_get_content_range (SoupMessageHeaders * hdrs,
|
||||||
goffset * start, goffset * end, goffset * total_length)
|
goffset * start, goffset * end, goffset * total_length)
|
||||||
|
@ -840,7 +835,6 @@ _soup_message_headers_set_range (SoupMessageHeaders * hdrs, goffset start,
|
||||||
gst_soup_vtable._soup_message_headers_set_range (hdrs, start, end);
|
gst_soup_vtable._soup_message_headers_set_range (hdrs, start, end);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
_soup_auth_authenticate (SoupAuth * auth, const char *username,
|
_soup_auth_authenticate (SoupAuth * auth, const char *username,
|
||||||
|
|
|
@ -24,6 +24,51 @@
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
|
|
||||||
|
/* Prevent conflicting symbols when building both soup and adaptivedemux2 */
|
||||||
|
#ifdef BUILDING_ADAPTIVEDEMUX2
|
||||||
|
#define gst_soup_loader_get_api_version ad2_gst_soup_loader_get_api_version
|
||||||
|
#define _soup_session_new_with_options _ad2_soup_session_new_with_options
|
||||||
|
#define _soup_logger_new _ad2_soup_logger_new
|
||||||
|
#define _soup_logger_set_printer _ad2_soup_logger_set_printer
|
||||||
|
#define _soup_session_add_feature _ad2_soup_session_add_feature
|
||||||
|
#define _soup_session_add_feature_by_type _ad2_soup_session_add_feature_by_type
|
||||||
|
#define gst_soup_uri_new ad2_gst_soup_uri_new
|
||||||
|
#define gst_soup_uri_free ad2_gst_soup_uri_free
|
||||||
|
#define gst_soup_uri_to_string ad2_gst_soup_uri_to_string
|
||||||
|
#define gst_soup_message_uri_to_string ad2_gst_soup_message_uri_to_string
|
||||||
|
#define _soup_get_major_version _ad2_soup_get_major_version
|
||||||
|
#define _soup_get_minor_version _ad2_soup_get_minor_version
|
||||||
|
#define _soup_get_micro_version _ad2_soup_get_micro_version
|
||||||
|
#define _soup_message_set_request_body_from_bytes _ad2_soup_message_set_request_body_from_bytes
|
||||||
|
#define _soup_session_get_type _ad2_soup_session_get_type
|
||||||
|
#define _soup_logger_log_level_get_type _ad2_soup_logger_log_level_get_type
|
||||||
|
#define _soup_content_decoder_get_type _ad2_soup_content_decoder_get_type
|
||||||
|
#define _soup_cookie_jar_get_type _ad2_soup_cookie_jar_get_type
|
||||||
|
#define _soup_session_abort _ad2_soup_session_abort
|
||||||
|
#define _soup_message_new _ad2_soup_message_new
|
||||||
|
#define _soup_message_get_request_headers _ad2_soup_message_get_request_headers
|
||||||
|
#define _soup_message_get_response_headers _ad2_soup_message_get_response_headers
|
||||||
|
#define _soup_message_headers_remove _ad2_soup_message_headers_remove
|
||||||
|
#define _soup_message_headers_append _ad2_soup_message_headers_append
|
||||||
|
#define _soup_message_set_flags _ad2_soup_message_set_flags
|
||||||
|
#define _soup_message_headers_foreach _ad2_soup_message_headers_foreach
|
||||||
|
#define _soup_message_headers_get_encoding _ad2_soup_message_headers_get_encoding
|
||||||
|
#define _soup_message_headers_get_content_length _ad2_soup_message_headers_get_content_length
|
||||||
|
#define _soup_message_get_status _ad2_soup_message_get_status
|
||||||
|
#define _soup_message_get_reason_phrase _ad2_soup_message_get_reason_phrase
|
||||||
|
#define _soup_message_headers_get_one _ad2_soup_message_headers_get_one
|
||||||
|
#define _soup_message_disable_feature _ad2_soup_message_disable_feature
|
||||||
|
#define _soup_message_headers_get_content_type _ad2_soup_message_headers_get_content_type
|
||||||
|
#define _soup_message_headers_get_content_range _ad2_soup_message_headers_get_content_range
|
||||||
|
#define _soup_message_headers_set_range _ad2_soup_message_headers_set_range
|
||||||
|
#define _soup_auth_authenticate _ad2_soup_auth_authenticate
|
||||||
|
#define _soup_message_get_method _ad2_soup_message_get_method
|
||||||
|
#define _soup_session_send_async _ad2_soup_session_send_async
|
||||||
|
#define _soup_session_send_finish _ad2_soup_session_send_finish
|
||||||
|
#define _soup_session_send _ad2_soup_session_send
|
||||||
|
#define gst_soup_session_cancel_message ad2_gst_soup_session_cancel_message
|
||||||
|
#endif
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
gboolean gst_soup_load_library (void);
|
gboolean gst_soup_load_library (void);
|
||||||
|
@ -96,13 +141,11 @@ void _soup_message_disable_feature (SoupMessage *msg, GType feature_type);
|
||||||
const char *_soup_message_headers_get_content_type (SoupMessageHeaders *hdrs,
|
const char *_soup_message_headers_get_content_type (SoupMessageHeaders *hdrs,
|
||||||
GHashTable **params);
|
GHashTable **params);
|
||||||
|
|
||||||
#ifdef BUILDING_ADAPTIVEDEMUX2
|
|
||||||
gboolean _soup_message_headers_get_content_range (SoupMessageHeaders *hdrs,
|
gboolean _soup_message_headers_get_content_range (SoupMessageHeaders *hdrs,
|
||||||
goffset *start, goffset *end,
|
goffset *start, goffset *end,
|
||||||
goffset *total_length);
|
goffset *total_length);
|
||||||
|
|
||||||
void _soup_message_headers_set_range (SoupMessageHeaders *hdrs, goffset start, goffset end);
|
void _soup_message_headers_set_range (SoupMessageHeaders *hdrs, goffset start, goffset end);
|
||||||
#endif
|
|
||||||
|
|
||||||
void _soup_auth_authenticate (SoupAuth *auth, const char *username,
|
void _soup_auth_authenticate (SoupAuth *auth, const char *username,
|
||||||
const char *password);
|
const char *password);
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#include "m3u8.h"
|
#include "m3u8.h"
|
||||||
#include "m3u8.c"
|
#include "m3u8.c"
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY (hls_debug);
|
GST_DEBUG_CATEGORY (hls2_debug);
|
||||||
|
|
||||||
static const gchar *INVALID_PLAYLIST = "#EXTM3 UINVALID";
|
static const gchar *INVALID_PLAYLIST = "#EXTM3 UINVALID";
|
||||||
|
|
||||||
|
@ -849,7 +849,7 @@ hlsdemux_suite (void)
|
||||||
Suite *s = suite_create ("hlsdemux_m3u8");
|
Suite *s = suite_create ("hlsdemux_m3u8");
|
||||||
TCase *tc_m3u8 = tcase_create ("m3u8client");
|
TCase *tc_m3u8 = tcase_create ("m3u8client");
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_INIT (hls_debug, "hlsdemux_m3u", 0, "hlsdemux m3u test");
|
GST_DEBUG_CATEGORY_INIT (hls2_debug, "hlsdemux_m3u", 0, "hlsdemux m3u test");
|
||||||
|
|
||||||
suite_add_tcase (s, tc_m3u8);
|
suite_add_tcase (s, tc_m3u8);
|
||||||
tcase_add_test (tc_m3u8, test_load_main_playlist_invalid);
|
tcase_add_test (tc_m3u8, test_load_main_playlist_invalid);
|
||||||
|
|
Loading…
Reference in a new issue