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:
Piotr Brzeziński 2022-06-14 23:03:26 +02:00 committed by GStreamer Marge Bot
parent bb84a533bf
commit 0a2c490723
17 changed files with 290 additions and 18 deletions

View file

@ -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__ */

View file

@ -21,6 +21,7 @@
#ifndef __GST_MPDHELPER_H__
#define __GST_MPDHELPER_H__
#include "gstmpd-prelude.h"
#include "gstxmlhelper.h"
#include "gstmpdnode.h"
#include "gstmpdurltypenode.h"

View file

@ -22,6 +22,7 @@
#define __GSTMPDNODE_H__
#include <gst/gst.h>
#include "gstmpd-prelude.h"
#include "gstxmlhelper.h"
G_BEGIN_DECLS

View file

@ -32,6 +32,7 @@
#include "gstadaptivedemux.h"
#include "gstmpd-prelude.h"
#include "gstmpdhelper.h"
#include "gstxmlhelper.h"
#include "gstmpdrootnode.h"

View file

@ -24,6 +24,7 @@
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <gst/gst.h>
#include "gstmpd-prelude.h"
#include "gstdash_debug.h"
G_BEGIN_DECLS

View file

@ -174,7 +174,7 @@ typedef struct _GstHLSDemux2Class GstHLSDemux2Class;
#define gst_hls_demux2_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstHLSDemux2, gst_hls_demux2, GST_TYPE_ADAPTIVE_DEMUX,
hls_element_init ());
hls2_element_init ());
static void
gst_hls_demux_finalize (GObject * obj)

View file

@ -5,14 +5,14 @@
#include "gsthlselements.h"
GST_DEBUG_CATEGORY (hls_debug);
GST_DEBUG_CATEGORY (hls2_debug);
void
hls_element_init (void)
hls2_element_init (void)
{
static gsize res = FALSE;
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");
g_once_init_leave (&res, TRUE);
}

View file

@ -5,9 +5,9 @@
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

View file

@ -36,7 +36,7 @@
#include "gstadaptivedemux.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 gchar *uri_join (const gchar * uri, const gchar * path);

View file

@ -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__ */

View file

@ -104,7 +104,7 @@ typedef struct _GstMssDemux2Class GstMssDemux2Class;
#define gst_mss_demux2_parent_class parent_class
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,
GST_TYPE_ADAPTIVE_DEMUX2_STREAM);

View file

@ -27,6 +27,7 @@
#include <gst/base/gstadapter.h>
#include <gst/base/gstdataqueue.h>
#include <gst/gstprotection.h>
#include "gstmss-prelude.h"
#include "gstmssmanifest.h"
#include "../gstadaptivedemux.h"

View file

@ -28,6 +28,7 @@
#include <gst/gst.h>
#include "../gstisoff.h"
#include "gstmss-prelude.h"
G_BEGIN_DECLS

View file

@ -27,6 +27,7 @@
#include <gio/gio.h>
#include <gst/gst.h>
#include <gst/base/gstadapter.h>
#include "gstmss-prelude.h"
G_BEGIN_DECLS

View file

@ -112,11 +112,9 @@ typedef struct _GstSoupVTable
goffset (*_soup_message_headers_get_content_length) (SoupMessageHeaders * hdrs);
const char *(*_soup_message_headers_get_content_type) (SoupMessageHeaders * hdrs,
GHashTable ** value);
#ifdef BUILDING_ADAPTIVEDEMUX2
gboolean (*_soup_message_headers_get_content_range) (SoupMessageHeaders *hdrs, goffset *start,
goffset *end, goffset *total_length);
void (*_soup_message_headers_set_range) (SoupMessageHeaders *hdrs, goffset start, goffset end);
#endif
SoupEncoding (*_soup_message_headers_get_encoding) (SoupMessageHeaders * hdrs);
const char *(*_soup_message_headers_get_one) (SoupMessageHeaders * hdrs,
const char * name);
@ -280,10 +278,8 @@ gst_soup_load_library (void)
LOAD_SYMBOL (soup_message_headers_foreach);
LOAD_SYMBOL (soup_message_headers_get_content_length);
LOAD_SYMBOL (soup_message_headers_get_content_type);
#ifdef BUILDING_ADAPTIVEDEMUX2
LOAD_SYMBOL (soup_message_headers_get_content_range);
LOAD_SYMBOL (soup_message_headers_set_range);
#endif
LOAD_SYMBOL (soup_message_headers_get_encoding);
LOAD_SYMBOL (soup_message_headers_get_one);
LOAD_SYMBOL (soup_message_headers_remove);
@ -814,7 +810,6 @@ _soup_message_headers_get_content_type (SoupMessageHeaders * hdrs,
#endif
}
#ifdef BUILDING_ADAPTIVEDEMUX2
gboolean
_soup_message_headers_get_content_range (SoupMessageHeaders * hdrs,
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);
#endif
}
#endif
void
_soup_auth_authenticate (SoupAuth * auth, const char *username,

View file

@ -24,6 +24,51 @@
#include <gst/gst.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
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,
GHashTable **params);
#ifdef BUILDING_ADAPTIVEDEMUX2
gboolean _soup_message_headers_get_content_range (SoupMessageHeaders *hdrs,
goffset *start, goffset *end,
goffset *total_length);
void _soup_message_headers_set_range (SoupMessageHeaders *hdrs, goffset start, goffset end);
#endif
void _soup_auth_authenticate (SoupAuth *auth, const char *username,
const char *password);

View file

@ -28,7 +28,7 @@
#include "m3u8.h"
#include "m3u8.c"
GST_DEBUG_CATEGORY (hls_debug);
GST_DEBUG_CATEGORY (hls2_debug);
static const gchar *INVALID_PLAYLIST = "#EXTM3 UINVALID";
@ -849,7 +849,7 @@ hlsdemux_suite (void)
Suite *s = suite_create ("hlsdemux_m3u8");
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);
tcase_add_test (tc_m3u8, test_load_main_playlist_invalid);