mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-26 17:18:15 +00:00
cdda: rename GstCddaBaseSrc to GstAudioCdSrc and move to libgstaudio
Another mini-lib down, to make space for new mini libs. Remove bogus copyright line while at it.
This commit is contained in:
parent
cead4ef818
commit
dfc13ec632
21 changed files with 217 additions and 501 deletions
|
@ -6,7 +6,6 @@ GST_PLUGINS_BASE_TOP := $(LOCAL_PATH)
|
|||
GST_PLUGINS_BASE_BUILT_SOURCES := \
|
||||
pkgconfig/gstreamer-app-0.10.pc \
|
||||
pkgconfig/gstreamer-audio-0.10.pc \
|
||||
pkgconfig/gstreamer-cdda-0.10.pc \
|
||||
pkgconfig/gstreamer-fft-0.10.pc \
|
||||
pkgconfig/gstreamer-interfaces-0.10.pc \
|
||||
pkgconfig/gstreamer-pbutils-0.10.pc \
|
||||
|
@ -19,7 +18,6 @@ GST_PLUGINS_BASE_BUILT_SOURCES := \
|
|||
pkgconfig/gstreamer-video-0.10.pc \
|
||||
pkgconfig/gstreamer-app-0.10-uninstalled.pc \
|
||||
pkgconfig/gstreamer-audio-0.10-uninstalled.pc \
|
||||
pkgconfig/gstreamer-cdda-0.10-uninstalled.pc \
|
||||
pkgconfig/gstreamer-fft-0.10-uninstalled.pc \
|
||||
pkgconfig/gstreamer-interfaces-0.10-uninstalled.pc \
|
||||
pkgconfig/gstreamer-pbutils-0.10-uninstalled.pc \
|
||||
|
|
|
@ -904,7 +904,6 @@ gst-libs/Makefile
|
|||
gst-libs/gst/Makefile
|
||||
gst-libs/gst/audio/Makefile
|
||||
gst-libs/gst/app/Makefile
|
||||
gst-libs/gst/cdda/Makefile
|
||||
gst-libs/gst/fft/Makefile
|
||||
gst-libs/gst/interfaces/Makefile
|
||||
gst-libs/gst/riff/Makefile
|
||||
|
@ -921,8 +920,6 @@ pkgconfig/gstreamer-audio.pc
|
|||
pkgconfig/gstreamer-audio-uninstalled.pc
|
||||
pkgconfig/gstreamer-app.pc
|
||||
pkgconfig/gstreamer-app-uninstalled.pc
|
||||
pkgconfig/gstreamer-cdda.pc
|
||||
pkgconfig/gstreamer-cdda-uninstalled.pc
|
||||
pkgconfig/gstreamer-fft.pc
|
||||
pkgconfig/gstreamer-fft-uninstalled.pc
|
||||
pkgconfig/gstreamer-interfaces.pc
|
||||
|
|
|
@ -59,7 +59,6 @@ GTKDOC_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) -DGST_USE_UNSTABLE
|
|||
GTKDOC_LIBS = \
|
||||
$(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
|
||||
$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
|
||||
$(top_builddir)/gst-libs/gst/cdda/libgstcdda-@GST_MAJORMINOR@.la \
|
||||
$(top_builddir)/gst-libs/gst/fft/libgstfft-@GST_MAJORMINOR@.la \
|
||||
$(top_builddir)/gst-libs/gst/rtp/libgstrtp-@GST_MAJORMINOR@.la \
|
||||
$(top_builddir)/gst-libs/gst/rtsp/libgstrtsp-@GST_MAJORMINOR@.la \
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
<filename>-lgstaudio-&GST_MAJORMINOR;</filename> to the library flags.
|
||||
</para>
|
||||
<xi:include href="xml/gstaudio.xml" />
|
||||
<xi:include href="xml/gstaudiocdsrc.xml" />
|
||||
<xi:include href="xml/gstaudioclock.xml" />
|
||||
<xi:include href="xml/gstaudiodecoder.xml" />
|
||||
<xi:include href="xml/gstaudioencoder.xml" />
|
||||
|
@ -57,16 +58,6 @@
|
|||
<xi:include href="xml/gstaudioiec61937.xml" />
|
||||
</chapter>
|
||||
|
||||
<chapter id="gstreamer-cdda">
|
||||
<title>CDDA Library</title>
|
||||
<para>
|
||||
This library should be linked to by getting cflags and libs from
|
||||
<filename>gstreamer-plugins-base-&GST_MAJORMINOR;.pc</filename> and adding
|
||||
<filename>-lgstcdda-&GST_MAJORMINOR;</filename> to the library flags.
|
||||
</para>
|
||||
<xi:include href="xml/gstcddabasesrc.xml" />
|
||||
</chapter>
|
||||
|
||||
<chapter id="gstreamer-ffft">
|
||||
<title>FFT Library</title>
|
||||
<para>
|
||||
|
|
|
@ -149,6 +149,26 @@ GST_IS_AUDIO_CLOCK_CLASS
|
|||
GST_AUDIO_CLOCK_CAST
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstaudiocdsrc</FILE>
|
||||
<INCLUDE>gst/audio/gstaudiocdsrc.h</INCLUDE>
|
||||
GstAudioCdSrc
|
||||
GstAudioCdSrcClass
|
||||
GstAudioCdSrcTrack
|
||||
GstAudioCdSrcMode
|
||||
gst_audio_cd_src_add_track
|
||||
<SUBSECTION Standard>
|
||||
GST_TYPE_AUDIO_CD_SRC_MODE
|
||||
gst_audio_cd_src_mode_get_type
|
||||
GST_AUDIO_CD_SRC
|
||||
GST_AUDIO_CD_SRC_CLASS
|
||||
GST_AUDIO_CD_SRC_GET_CLASS
|
||||
GST_IS_AUDIO_CD_SRC
|
||||
GST_IS_AUDIO_CD_SRC_CLASS
|
||||
GST_TYPE_AUDIO_CD_SRC
|
||||
gst_audio_cd_src_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstaudiodecoder</FILE>
|
||||
<INCLUDE>gst/audio/gstaudiodecoder.h</INCLUDE>
|
||||
|
@ -431,29 +451,6 @@ gst_audio_iec61937_frame_size
|
|||
gst_audio_iec61937_payload
|
||||
</SECTION>
|
||||
|
||||
|
||||
# cdda
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstcddabasesrc</FILE>
|
||||
<INCLUDE>gst/cdda/gstcddabasesrc.h</INCLUDE>
|
||||
GstCddaBaseSrc
|
||||
GstCddaBaseSrcClass
|
||||
GstCddaBaseSrcTrack
|
||||
GstCddaBaseSrcMode
|
||||
gst_cdda_base_src_add_track
|
||||
<SUBSECTION Standard>
|
||||
GST_TYPE_CDDA_BASE_SRC_MODE
|
||||
gst_cdda_base_src_mode_get_type
|
||||
GST_CDDA_BASE_SRC
|
||||
GST_CDDA_BASE_SRC_CLASS
|
||||
GST_CDDA_BASE_SRC_GET_CLASS
|
||||
GST_IS_CDDA_BASE_SRC
|
||||
GST_IS_CDDA_BASE_SRC_CLASS
|
||||
GST_TYPE_CDDA_BASE_SRC
|
||||
gst_cdda_base_src_get_type
|
||||
</SECTION>
|
||||
|
||||
# fft
|
||||
|
||||
<SECTION>
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include <gst/gst.h>
|
||||
|
||||
|
||||
#include <gst/audio/gstaudiocdsrc.h>
|
||||
gst_audio_cd_src_get_type
|
||||
#include <gst/audio/gstaudioclock.h>
|
||||
gst_audio_clock_get_type
|
||||
#include <gst/audio/gstaudiodecoder.h>
|
||||
|
@ -20,11 +22,6 @@ gst_audio_base_src_get_type
|
|||
#include <gst/audio/gstaudioringbuffer.h>
|
||||
gst_audio_ring_buffer_get_type
|
||||
|
||||
|
||||
#include <gst/cdda/gstcddabasesrc.h>
|
||||
gst_cdda_base_src_get_type
|
||||
|
||||
|
||||
#include <gst/interfaces/colorbalance.h>
|
||||
gst_color_balance_get_type
|
||||
gst_color_balance_channel_get_type
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
# The interfaces directory has to be built before the others,
|
||||
# otherwise some generated header files will be missing for the
|
||||
# plugins in the other directories.
|
||||
# Also, the tag directory has to be built before the cdda directory.
|
||||
SUBDIRS = \
|
||||
interfaces \
|
||||
tag \
|
||||
cdda \
|
||||
fft \
|
||||
rtp \
|
||||
sdp \
|
||||
|
@ -19,9 +17,7 @@ SUBDIRS = \
|
|||
noinst_HEADERS = gettext.h gst-i18n-plugin.h
|
||||
|
||||
# dependencies:
|
||||
audio: interfaces
|
||||
|
||||
cdda: tag
|
||||
audio: interfaces tag
|
||||
|
||||
riff: tag audio
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ libgstaudio_@GST_MAJORMINOR@_la_SOURCES = \
|
|||
gstaudioclock.c \
|
||||
mixerutils.c \
|
||||
multichannel.c \
|
||||
gstaudiocdsrc.c \
|
||||
gstaudiodecoder.c \
|
||||
gstaudioencoder.c \
|
||||
gstaudiobasesink.c \
|
||||
|
@ -39,6 +40,7 @@ libgstaudio_@GST_MAJORMINOR@include_HEADERS = \
|
|||
gstaudioringbuffer.h \
|
||||
gstaudioclock.h \
|
||||
gstaudiofilter.h \
|
||||
gstaudiocdsrc.h \
|
||||
gstaudiodecoder.h \
|
||||
gstaudioencoder.h \
|
||||
gstaudiobasesink.h \
|
||||
|
@ -54,7 +56,8 @@ nodist_libgstaudio_@GST_MAJORMINOR@include_HEADERS = \
|
|||
|
||||
libgstaudio_@GST_MAJORMINOR@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
|
||||
libgstaudio_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) \
|
||||
$(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la
|
||||
$(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
|
||||
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la
|
||||
libgstaudio_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
|
||||
|
||||
include $(top_srcdir)/common/gst-glib-gen.mak
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* GStreamer
|
||||
* Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
|
||||
/* GStreamer Audio CD Source Base Class
|
||||
* Copyright (C) 2005 Tim-Philipp Müller <tim centricular net>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
|
@ -36,17 +35,18 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* SECTION:gstcddabasesrc
|
||||
* @short_description: Base class for CD digital audio (CDDA) sources
|
||||
* SECTION:gstaudiocdsrc
|
||||
* @short_description: Base class for Audio CD sources
|
||||
*
|
||||
* <refsect2>
|
||||
* <para>
|
||||
* Provides a base class for CDDA sources, which handles things like seeking,
|
||||
* querying, discid calculation, tags, and buffer timestamping.
|
||||
* Provides a base class for CD digital audio (CDDA) sources, which handles
|
||||
* things like seeking, querying, discid calculation, tags, and buffer
|
||||
* timestamping.
|
||||
* </para>
|
||||
* <title>Using GstCddaBaseSrc-based elements in applications</title>
|
||||
* <title>Using GstAudioCdSrc-based elements in applications</title>
|
||||
* <para>
|
||||
* GstCddaBaseSrc registers two #GstFormat<!-- -->s of its own, namely
|
||||
* GstAudioCdSrc registers two #GstFormat<!-- -->s of its own, namely
|
||||
* the "track" format and the "sector" format. Applications will usually
|
||||
* only find the "track" format interesting. You can retrieve that #GstFormat
|
||||
* for use in seek events or queries with gst_format_get_by_nick("track").
|
||||
|
@ -88,12 +88,13 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h> /* for strtol */
|
||||
|
||||
#include <gst/tag/tag.h>
|
||||
#include <gst/audio/audio.h>
|
||||
#include "gstcddabasesrc.h"
|
||||
#include "gstaudiocdsrc.h"
|
||||
#include "gst/gst-i18n-plugin.h"
|
||||
|
||||
GST_DEBUG_CATEGORY_STATIC (gst_cdda_base_src_debug);
|
||||
#define GST_CAT_DEFAULT gst_cdda_base_src_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (gst_audio_cd_src_debug);
|
||||
#define GST_CAT_DEFAULT gst_audio_cd_src_debug
|
||||
|
||||
#define DEFAULT_DEVICE "/dev/cdrom"
|
||||
|
||||
|
@ -115,31 +116,31 @@ enum
|
|||
ARG_TOC_BIAS
|
||||
};
|
||||
|
||||
static void gst_cdda_base_src_uri_handler_init (gpointer g_iface,
|
||||
static void gst_audio_cd_src_uri_handler_init (gpointer g_iface,
|
||||
gpointer iface_data);
|
||||
static void gst_cdda_base_src_get_property (GObject * object, guint prop_id,
|
||||
static void gst_audio_cd_src_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * pspec);
|
||||
static void gst_cdda_base_src_set_property (GObject * object, guint prop_id,
|
||||
static void gst_audio_cd_src_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
static void gst_cdda_base_src_finalize (GObject * obj);
|
||||
static gboolean gst_cdda_base_src_query (GstBaseSrc * src, GstQuery * query);
|
||||
static gboolean gst_cdda_base_src_handle_event (GstBaseSrc * basesrc,
|
||||
static void gst_audio_cd_src_finalize (GObject * obj);
|
||||
static gboolean gst_audio_cd_src_query (GstBaseSrc * src, GstQuery * query);
|
||||
static gboolean gst_audio_cd_src_handle_event (GstBaseSrc * basesrc,
|
||||
GstEvent * event);
|
||||
static gboolean gst_cdda_base_src_do_seek (GstBaseSrc * basesrc,
|
||||
static gboolean gst_audio_cd_src_do_seek (GstBaseSrc * basesrc,
|
||||
GstSegment * segment);
|
||||
static gboolean gst_cdda_base_src_start (GstBaseSrc * basesrc);
|
||||
static gboolean gst_cdda_base_src_stop (GstBaseSrc * basesrc);
|
||||
static GstFlowReturn gst_cdda_base_src_create (GstPushSrc * pushsrc,
|
||||
static gboolean gst_audio_cd_src_start (GstBaseSrc * basesrc);
|
||||
static gboolean gst_audio_cd_src_stop (GstBaseSrc * basesrc);
|
||||
static GstFlowReturn gst_audio_cd_src_create (GstPushSrc * pushsrc,
|
||||
GstBuffer ** buf);
|
||||
static gboolean gst_cdda_base_src_is_seekable (GstBaseSrc * basesrc);
|
||||
static void gst_cdda_base_src_update_duration (GstCddaBaseSrc * src);
|
||||
static void gst_cdda_base_src_set_index (GstElement * src, GstIndex * index);
|
||||
static GstIndex *gst_cdda_base_src_get_index (GstElement * src);
|
||||
static gboolean gst_audio_cd_src_is_seekable (GstBaseSrc * basesrc);
|
||||
static void gst_audio_cd_src_update_duration (GstAudioCdSrc * src);
|
||||
static void gst_audio_cd_src_set_index (GstElement * src, GstIndex * index);
|
||||
static GstIndex *gst_audio_cd_src_get_index (GstElement * src);
|
||||
|
||||
#define gst_cdda_base_src_parent_class parent_class
|
||||
G_DEFINE_TYPE_WITH_CODE (GstCddaBaseSrc, gst_cdda_base_src, GST_TYPE_PUSH_SRC,
|
||||
#define gst_audio_cd_src_parent_class parent_class
|
||||
G_DEFINE_TYPE_WITH_CODE (GstAudioCdSrc, gst_audio_cd_src, GST_TYPE_PUSH_SRC,
|
||||
G_IMPLEMENT_INTERFACE (GST_TYPE_URI_HANDLER,
|
||||
gst_cdda_base_src_uri_handler_init));
|
||||
gst_audio_cd_src_uri_handler_init));
|
||||
|
||||
#define SRC_CAPS \
|
||||
"audio/x-raw, " \
|
||||
|
@ -147,7 +148,7 @@ G_DEFINE_TYPE_WITH_CODE (GstCddaBaseSrc, gst_cdda_base_src, GST_TYPE_PUSH_SRC,
|
|||
"rate = (int) 44100, " \
|
||||
"channels = (int) 2" \
|
||||
|
||||
static GstStaticPadTemplate gst_cdda_base_src_src_template =
|
||||
static GstStaticPadTemplate gst_audio_cd_src_src_template =
|
||||
GST_STATIC_PAD_TEMPLATE ("src",
|
||||
GST_PAD_SRC,
|
||||
GST_PAD_ALWAYS,
|
||||
|
@ -159,25 +160,25 @@ static GstFormat track_format;
|
|||
static GstFormat sector_format;
|
||||
|
||||
GType
|
||||
gst_cdda_base_src_mode_get_type (void)
|
||||
gst_audio_cd_src_mode_get_type (void)
|
||||
{
|
||||
static GType mode_type; /* 0 */
|
||||
static const GEnumValue modes[] = {
|
||||
{GST_CDDA_BASE_SRC_MODE_NORMAL, "Stream consists of a single track",
|
||||
{GST_AUDIO_CD_SRC_MODE_NORMAL, "Stream consists of a single track",
|
||||
"normal"},
|
||||
{GST_CDDA_BASE_SRC_MODE_CONTINUOUS, "Stream consists of the whole disc",
|
||||
{GST_AUDIO_CD_SRC_MODE_CONTINUOUS, "Stream consists of the whole disc",
|
||||
"continuous"},
|
||||
{0, NULL, NULL}
|
||||
};
|
||||
|
||||
if (mode_type == 0)
|
||||
mode_type = g_enum_register_static ("GstCddaBaseSrcMode", modes);
|
||||
mode_type = g_enum_register_static ("GstAudioCdSrcMode", modes);
|
||||
|
||||
return mode_type;
|
||||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_class_init (GstCddaBaseSrcClass * klass)
|
||||
gst_audio_cd_src_class_init (GstAudioCdSrcClass * klass)
|
||||
{
|
||||
GstElementClass *element_class;
|
||||
GstPushSrcClass *pushsrc_class;
|
||||
|
@ -189,8 +190,8 @@ gst_cdda_base_src_class_init (GstCddaBaseSrcClass * klass)
|
|||
basesrc_class = (GstBaseSrcClass *) klass;
|
||||
pushsrc_class = (GstPushSrcClass *) klass;
|
||||
|
||||
GST_DEBUG_CATEGORY_INIT (gst_cdda_base_src_debug, "cddabasesrc", 0,
|
||||
"CDDA Base Source");
|
||||
GST_DEBUG_CATEGORY_INIT (gst_audio_cd_src_debug, "audiocdsrc", 0,
|
||||
"Audio CD source base class");
|
||||
|
||||
/* our very own formats */
|
||||
track_format = gst_format_register ("track", "CD track");
|
||||
|
@ -204,16 +205,16 @@ gst_cdda_base_src_class_init (GstCddaBaseSrcClass * klass)
|
|||
gst_tag_register (GST_TAG_CDDA_TRACK_TAGS, GST_TAG_FLAG_META, GST_TYPE_TAG_LIST, "track-tags", "CDDA taglist for one track", gst_tag_merge_use_first); ///////////// FIXME: right function??? ///////
|
||||
#endif
|
||||
|
||||
gobject_class->set_property = gst_cdda_base_src_set_property;
|
||||
gobject_class->get_property = gst_cdda_base_src_get_property;
|
||||
gobject_class->finalize = gst_cdda_base_src_finalize;
|
||||
gobject_class->set_property = gst_audio_cd_src_set_property;
|
||||
gobject_class->get_property = gst_audio_cd_src_get_property;
|
||||
gobject_class->finalize = gst_audio_cd_src_finalize;
|
||||
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DEVICE,
|
||||
g_param_spec_string ("device", "Device", "CD device location",
|
||||
NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MODE,
|
||||
g_param_spec_enum ("mode", "Mode", "Mode", GST_TYPE_CDDA_BASE_SRC_MODE,
|
||||
GST_CDDA_BASE_SRC_MODE_NORMAL,
|
||||
g_param_spec_enum ("mode", "Mode", "Mode", GST_TYPE_AUDIO_CD_SRC_MODE,
|
||||
GST_AUDIO_CD_SRC_MODE_NORMAL,
|
||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_TRACK,
|
||||
|
@ -239,38 +240,37 @@ gst_cdda_base_src_class_init (GstCddaBaseSrcClass * klass)
|
|||
#endif
|
||||
|
||||
gst_element_class_add_pad_template (element_class,
|
||||
gst_static_pad_template_get (&gst_cdda_base_src_src_template));
|
||||
gst_static_pad_template_get (&gst_audio_cd_src_src_template));
|
||||
|
||||
element_class->set_index = GST_DEBUG_FUNCPTR (gst_cdda_base_src_set_index);
|
||||
element_class->get_index = GST_DEBUG_FUNCPTR (gst_cdda_base_src_get_index);
|
||||
element_class->set_index = GST_DEBUG_FUNCPTR (gst_audio_cd_src_set_index);
|
||||
element_class->get_index = GST_DEBUG_FUNCPTR (gst_audio_cd_src_get_index);
|
||||
|
||||
basesrc_class->start = GST_DEBUG_FUNCPTR (gst_cdda_base_src_start);
|
||||
basesrc_class->stop = GST_DEBUG_FUNCPTR (gst_cdda_base_src_stop);
|
||||
basesrc_class->query = GST_DEBUG_FUNCPTR (gst_cdda_base_src_query);
|
||||
basesrc_class->event = GST_DEBUG_FUNCPTR (gst_cdda_base_src_handle_event);
|
||||
basesrc_class->do_seek = GST_DEBUG_FUNCPTR (gst_cdda_base_src_do_seek);
|
||||
basesrc_class->is_seekable =
|
||||
GST_DEBUG_FUNCPTR (gst_cdda_base_src_is_seekable);
|
||||
basesrc_class->start = GST_DEBUG_FUNCPTR (gst_audio_cd_src_start);
|
||||
basesrc_class->stop = GST_DEBUG_FUNCPTR (gst_audio_cd_src_stop);
|
||||
basesrc_class->query = GST_DEBUG_FUNCPTR (gst_audio_cd_src_query);
|
||||
basesrc_class->event = GST_DEBUG_FUNCPTR (gst_audio_cd_src_handle_event);
|
||||
basesrc_class->do_seek = GST_DEBUG_FUNCPTR (gst_audio_cd_src_do_seek);
|
||||
basesrc_class->is_seekable = GST_DEBUG_FUNCPTR (gst_audio_cd_src_is_seekable);
|
||||
|
||||
pushsrc_class->create = GST_DEBUG_FUNCPTR (gst_cdda_base_src_create);
|
||||
pushsrc_class->create = GST_DEBUG_FUNCPTR (gst_audio_cd_src_create);
|
||||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_init (GstCddaBaseSrc * src)
|
||||
gst_audio_cd_src_init (GstAudioCdSrc * src)
|
||||
{
|
||||
/* we're not live and we operate in time */
|
||||
gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
|
||||
gst_base_src_set_live (GST_BASE_SRC (src), FALSE);
|
||||
|
||||
src->device = NULL;
|
||||
src->mode = GST_CDDA_BASE_SRC_MODE_NORMAL;
|
||||
src->mode = GST_AUDIO_CD_SRC_MODE_NORMAL;
|
||||
src->uri_track = -1;
|
||||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_finalize (GObject * obj)
|
||||
gst_audio_cd_src_finalize (GObject * obj)
|
||||
{
|
||||
GstCddaBaseSrc *cddasrc = GST_CDDA_BASE_SRC (obj);
|
||||
GstAudioCdSrc *cddasrc = GST_AUDIO_CD_SRC (obj);
|
||||
|
||||
g_free (cddasrc->uri);
|
||||
g_free (cddasrc->device);
|
||||
|
@ -282,7 +282,7 @@ gst_cdda_base_src_finalize (GObject * obj)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_set_device (GstCddaBaseSrc * src, const gchar * device)
|
||||
gst_audio_cd_src_set_device (GstAudioCdSrc * src, const gchar * device)
|
||||
{
|
||||
if (src->device)
|
||||
g_free (src->device);
|
||||
|
@ -314,10 +314,10 @@ gst_cdda_base_src_set_device (GstCddaBaseSrc * src, const gchar * device)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_set_property (GObject * object, guint prop_id,
|
||||
gst_audio_cd_src_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (object);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (object);
|
||||
|
||||
GST_OBJECT_LOCK (src);
|
||||
|
||||
|
@ -329,7 +329,7 @@ gst_cdda_base_src_set_property (GObject * object, guint prop_id,
|
|||
case ARG_DEVICE:{
|
||||
const gchar *dev = g_value_get_string (value);
|
||||
|
||||
gst_cdda_base_src_set_device (src, dev);
|
||||
gst_audio_cd_src_set_device (src, dev);
|
||||
break;
|
||||
}
|
||||
case ARG_TRACK:{
|
||||
|
@ -363,11 +363,11 @@ gst_cdda_base_src_set_property (GObject * object, guint prop_id,
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_get_property (GObject * object, guint prop_id,
|
||||
gst_audio_cd_src_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * pspec)
|
||||
{
|
||||
GstCddaBaseSrcClass *klass = GST_CDDA_BASE_SRC_GET_CLASS (object);
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (object);
|
||||
GstAudioCdSrcClass *klass = GST_AUDIO_CD_SRC_GET_CLASS (object);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (object);
|
||||
|
||||
GST_OBJECT_LOCK (src);
|
||||
|
||||
|
@ -415,7 +415,7 @@ gst_cdda_base_src_get_property (GObject * object, guint prop_id,
|
|||
}
|
||||
|
||||
static gint
|
||||
gst_cdda_base_src_get_track_from_sector (GstCddaBaseSrc * src, gint sector)
|
||||
gst_audio_cd_src_get_track_from_sector (GstAudioCdSrc * src, gint sector)
|
||||
{
|
||||
gint i;
|
||||
|
||||
|
@ -427,7 +427,7 @@ gst_cdda_base_src_get_track_from_sector (GstCddaBaseSrc * src, gint sector)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_convert (GstCddaBaseSrc * src, GstFormat src_format,
|
||||
gst_audio_cd_src_convert (GstAudioCdSrc * src, GstFormat src_format,
|
||||
gint64 src_val, GstFormat dest_format, gint64 * dest_val)
|
||||
{
|
||||
gboolean started;
|
||||
|
@ -489,7 +489,7 @@ gst_cdda_base_src_convert (GstCddaBaseSrc * src, GstFormat src_format,
|
|||
} else if (dest_format == track_format) {
|
||||
if (!started)
|
||||
goto not_started;
|
||||
*dest_val = gst_cdda_base_src_get_track_from_sector (src, sector);
|
||||
*dest_val = gst_audio_cd_src_get_track_from_sector (src, sector);
|
||||
} else {
|
||||
goto unknown_format;
|
||||
}
|
||||
|
@ -524,7 +524,7 @@ gst_cdda_base_src_convert (GstCddaBaseSrc * src, GstFormat src_format,
|
|||
} else if (dest_format == track_format) {
|
||||
if (!started)
|
||||
goto not_started;
|
||||
*dest_val = gst_cdda_base_src_get_track_from_sector (src, sector);
|
||||
*dest_val = gst_audio_cd_src_get_track_from_sector (src, sector);
|
||||
} else {
|
||||
goto unknown_format;
|
||||
}
|
||||
|
@ -566,9 +566,9 @@ not_started:
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_query (GstBaseSrc * basesrc, GstQuery * query)
|
||||
gst_audio_cd_src_query (GstBaseSrc * basesrc, GstQuery * query)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (basesrc);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (basesrc);
|
||||
gboolean started;
|
||||
|
||||
started = GST_OBJECT_FLAG_IS_SET (basesrc, GST_BASE_SRC_STARTED);
|
||||
|
@ -598,7 +598,7 @@ gst_cdda_base_src_query (GstBaseSrc * basesrc, GstQuery * query)
|
|||
if (src->cur_track < 0 || src->cur_track >= src->num_tracks)
|
||||
return FALSE;
|
||||
|
||||
if (src->mode == GST_CDDA_BASE_SRC_MODE_NORMAL) {
|
||||
if (src->mode == GST_AUDIO_CD_SRC_MODE_NORMAL) {
|
||||
sectors = src->tracks[src->cur_track].end -
|
||||
src->tracks[src->cur_track].start + 1;
|
||||
} else {
|
||||
|
@ -607,7 +607,7 @@ gst_cdda_base_src_query (GstBaseSrc * basesrc, GstQuery * query)
|
|||
}
|
||||
|
||||
/* ... and convert into final format */
|
||||
if (!gst_cdda_base_src_convert (src, sector_format, sectors,
|
||||
if (!gst_audio_cd_src_convert (src, sector_format, sectors,
|
||||
dest_format, &dest_val)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -639,13 +639,13 @@ gst_cdda_base_src_query (GstBaseSrc * basesrc, GstQuery * query)
|
|||
if (src->cur_track < 0 || src->cur_track >= src->num_tracks)
|
||||
return FALSE;
|
||||
|
||||
if (src->mode == GST_CDDA_BASE_SRC_MODE_NORMAL) {
|
||||
if (src->mode == GST_AUDIO_CD_SRC_MODE_NORMAL) {
|
||||
pos_sector = src->cur_sector - src->tracks[src->cur_track].start;
|
||||
} else {
|
||||
pos_sector = src->cur_sector - src->tracks[0].start;
|
||||
}
|
||||
|
||||
if (!gst_cdda_base_src_convert (src, sector_format, pos_sector,
|
||||
if (!gst_audio_cd_src_convert (src, sector_format, pos_sector,
|
||||
dest_format, &dest_val)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -663,7 +663,7 @@ gst_cdda_base_src_query (GstBaseSrc * basesrc, GstQuery * query)
|
|||
gst_query_parse_convert (query, &src_format, &src_val, &dest_format,
|
||||
NULL);
|
||||
|
||||
if (!gst_cdda_base_src_convert (src, src_format, src_val, dest_format,
|
||||
if (!gst_audio_cd_src_convert (src, src_format, src_val, dest_format,
|
||||
&dest_val)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -681,21 +681,21 @@ gst_cdda_base_src_query (GstBaseSrc * basesrc, GstQuery * query)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_is_seekable (GstBaseSrc * basesrc)
|
||||
gst_audio_cd_src_is_seekable (GstBaseSrc * basesrc)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_do_seek (GstBaseSrc * basesrc, GstSegment * segment)
|
||||
gst_audio_cd_src_do_seek (GstBaseSrc * basesrc, GstSegment * segment)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (basesrc);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (basesrc);
|
||||
gint64 seek_sector;
|
||||
|
||||
GST_DEBUG_OBJECT (src, "segment %" GST_TIME_FORMAT "-%" GST_TIME_FORMAT,
|
||||
GST_TIME_ARGS (segment->start), GST_TIME_ARGS (segment->stop));
|
||||
|
||||
if (!gst_cdda_base_src_convert (src, GST_FORMAT_TIME, segment->start,
|
||||
if (!gst_audio_cd_src_convert (src, GST_FORMAT_TIME, segment->start,
|
||||
sector_format, &seek_sector)) {
|
||||
GST_WARNING_OBJECT (src, "conversion failed");
|
||||
return FALSE;
|
||||
|
@ -705,10 +705,10 @@ gst_cdda_base_src_do_seek (GstBaseSrc * basesrc, GstSegment * segment)
|
|||
g_assert (src->cur_track >= 0 && src->cur_track < src->num_tracks);
|
||||
|
||||
switch (src->mode) {
|
||||
case GST_CDDA_BASE_SRC_MODE_NORMAL:
|
||||
case GST_AUDIO_CD_SRC_MODE_NORMAL:
|
||||
seek_sector += src->tracks[src->cur_track].start;
|
||||
break;
|
||||
case GST_CDDA_BASE_SRC_MODE_CONTINUOUS:
|
||||
case GST_AUDIO_CD_SRC_MODE_CONTINUOUS:
|
||||
seek_sector += src->tracks[0].start;
|
||||
break;
|
||||
default:
|
||||
|
@ -723,7 +723,7 @@ gst_cdda_base_src_do_seek (GstBaseSrc * basesrc, GstSegment * segment)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
||||
gst_audio_cd_src_handle_track_seek (GstAudioCdSrc * src, gdouble rate,
|
||||
GstSeekFlags flags, GstSeekType start_type, gint64 start,
|
||||
GstSeekType stop_type, gint64 stop)
|
||||
{
|
||||
|
@ -734,7 +734,7 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
|||
gint64 start_time = -1;
|
||||
gint64 stop_time = -1;
|
||||
|
||||
if (src->mode != GST_CDDA_BASE_SRC_MODE_CONTINUOUS) {
|
||||
if (src->mode != GST_AUDIO_CD_SRC_MODE_CONTINUOUS) {
|
||||
GST_DEBUG_OBJECT (src, "segment seek in track format is only "
|
||||
"supported in CONTINUOUS mode, not in mode %d", src->mode);
|
||||
return FALSE;
|
||||
|
@ -742,7 +742,7 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
|||
|
||||
switch (start_type) {
|
||||
case GST_SEEK_TYPE_SET:
|
||||
if (!gst_cdda_base_src_convert (src, track_format, start,
|
||||
if (!gst_audio_cd_src_convert (src, track_format, start,
|
||||
GST_FORMAT_TIME, &start_time)) {
|
||||
GST_DEBUG_OBJECT (src, "cannot convert track %d to time",
|
||||
(gint) start);
|
||||
|
@ -750,7 +750,7 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
|||
}
|
||||
break;
|
||||
case GST_SEEK_TYPE_END:
|
||||
if (!gst_cdda_base_src_convert (src, track_format,
|
||||
if (!gst_audio_cd_src_convert (src, track_format,
|
||||
src->num_tracks - start - 1, GST_FORMAT_TIME, &start_time)) {
|
||||
GST_DEBUG_OBJECT (src, "cannot convert track %d to time",
|
||||
(gint) start);
|
||||
|
@ -767,7 +767,7 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
|||
|
||||
switch (stop_type) {
|
||||
case GST_SEEK_TYPE_SET:
|
||||
if (!gst_cdda_base_src_convert (src, track_format, stop,
|
||||
if (!gst_audio_cd_src_convert (src, track_format, stop,
|
||||
GST_FORMAT_TIME, &stop_time)) {
|
||||
GST_DEBUG_OBJECT (src, "cannot convert track %d to time",
|
||||
(gint) stop);
|
||||
|
@ -775,7 +775,7 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
|||
}
|
||||
break;
|
||||
case GST_SEEK_TYPE_END:
|
||||
if (!gst_cdda_base_src_convert (src, track_format,
|
||||
if (!gst_audio_cd_src_convert (src, track_format,
|
||||
src->num_tracks - stop - 1, GST_FORMAT_TIME, &stop_time)) {
|
||||
GST_DEBUG_OBJECT (src, "cannot convert track %d to time",
|
||||
(gint) stop);
|
||||
|
@ -828,7 +828,7 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
|||
src->uri_track = -1;
|
||||
src->prev_track = -1;
|
||||
|
||||
gst_cdda_base_src_update_duration (src);
|
||||
gst_audio_cd_src_update_duration (src);
|
||||
} else {
|
||||
GST_DEBUG_OBJECT (src, "is current track, just seeking back to start");
|
||||
}
|
||||
|
@ -842,9 +842,9 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate,
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_handle_event (GstBaseSrc * basesrc, GstEvent * event)
|
||||
gst_audio_cd_src_handle_event (GstBaseSrc * basesrc, GstEvent * event)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (basesrc);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (basesrc);
|
||||
gboolean ret = FALSE;
|
||||
|
||||
GST_LOG_OBJECT (src, "handling %s event", GST_EVENT_TYPE_NAME (event));
|
||||
|
@ -871,7 +871,7 @@ gst_cdda_base_src_handle_event (GstBaseSrc * basesrc, GstEvent * event)
|
|||
}
|
||||
|
||||
if (format == track_format) {
|
||||
ret = gst_cdda_base_src_handle_track_seek (src, rate, flags,
|
||||
ret = gst_audio_cd_src_handle_track_seek (src, rate, flags,
|
||||
start_type, start, stop_type, stop);
|
||||
} else {
|
||||
GST_LOG_OBJECT (src, "let base class handle seek in %s format",
|
||||
|
@ -892,13 +892,13 @@ gst_cdda_base_src_handle_event (GstBaseSrc * basesrc, GstEvent * event)
|
|||
}
|
||||
|
||||
static GstURIType
|
||||
gst_cdda_base_src_uri_get_type (GType type)
|
||||
gst_audio_cd_src_uri_get_type (GType type)
|
||||
{
|
||||
return GST_URI_SRC;
|
||||
}
|
||||
|
||||
static gchar **
|
||||
gst_cdda_base_src_uri_get_protocols (GType type)
|
||||
gst_audio_cd_src_uri_get_protocols (GType type)
|
||||
{
|
||||
static gchar *protocols[] = { (char *) "cdda", NULL };
|
||||
|
||||
|
@ -906,9 +906,9 @@ gst_cdda_base_src_uri_get_protocols (GType type)
|
|||
}
|
||||
|
||||
static const gchar *
|
||||
gst_cdda_base_src_uri_get_uri (GstURIHandler * handler)
|
||||
gst_audio_cd_src_uri_get_uri (GstURIHandler * handler)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (handler);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (handler);
|
||||
|
||||
GST_OBJECT_LOCK (src);
|
||||
|
||||
|
@ -933,9 +933,9 @@ gst_cdda_base_src_uri_get_uri (GstURIHandler * handler)
|
|||
/* We accept URIs of the format cdda://(device#track)|(track) */
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
|
||||
gst_audio_cd_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (handler);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (handler);
|
||||
gchar *protocol;
|
||||
const gchar *location;
|
||||
gchar *track_number;
|
||||
|
@ -961,7 +961,7 @@ gst_cdda_base_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
|
|||
track_number = nuri + (track_number - uri);
|
||||
*track_number = '\0';
|
||||
device = gst_uri_get_location (nuri);
|
||||
gst_cdda_base_src_set_device (src, device);
|
||||
gst_audio_cd_src_set_device (src, device);
|
||||
g_free (device);
|
||||
src->uri_track = strtol (track_number + 1, NULL, 10);
|
||||
g_free (nuri);
|
||||
|
@ -1003,20 +1003,20 @@ failed:
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_uri_handler_init (gpointer g_iface, gpointer iface_data)
|
||||
gst_audio_cd_src_uri_handler_init (gpointer g_iface, gpointer iface_data)
|
||||
{
|
||||
GstURIHandlerInterface *iface = (GstURIHandlerInterface *) g_iface;
|
||||
|
||||
iface->get_type = gst_cdda_base_src_uri_get_type;
|
||||
iface->get_uri = gst_cdda_base_src_uri_get_uri;
|
||||
iface->set_uri = gst_cdda_base_src_uri_set_uri;
|
||||
iface->get_protocols = gst_cdda_base_src_uri_get_protocols;
|
||||
iface->get_type = gst_audio_cd_src_uri_get_type;
|
||||
iface->get_uri = gst_audio_cd_src_uri_get_uri;
|
||||
iface->set_uri = gst_audio_cd_src_uri_set_uri;
|
||||
iface->get_protocols = gst_audio_cd_src_uri_get_protocols;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_cdda_base_src_add_track:
|
||||
* @src: a #GstCddaBaseSrc
|
||||
* @track: address of #GstCddaBaseSrcTrack to add
|
||||
* gst_audio_cd_src_add_track:
|
||||
* @src: a #GstAudioCdSrc
|
||||
* @track: address of #GstAudioCdSrcTrack to add
|
||||
*
|
||||
* CDDA sources use this function from their start vfunc to announce the
|
||||
* available data and audio tracks to the base source class. The caller
|
||||
|
@ -1027,9 +1027,9 @@ gst_cdda_base_src_uri_handler_init (gpointer g_iface, gpointer iface_data)
|
|||
*/
|
||||
|
||||
gboolean
|
||||
gst_cdda_base_src_add_track (GstCddaBaseSrc * src, GstCddaBaseSrcTrack * track)
|
||||
gst_audio_cd_src_add_track (GstAudioCdSrc * src, GstAudioCdSrcTrack * track)
|
||||
{
|
||||
g_return_val_if_fail (GST_IS_CDDA_BASE_SRC (src), FALSE);
|
||||
g_return_val_if_fail (GST_IS_AUDIO_CD_SRC (src), FALSE);
|
||||
g_return_val_if_fail (track != NULL, FALSE);
|
||||
g_return_val_if_fail (track->num > 0, FALSE);
|
||||
|
||||
|
@ -1049,7 +1049,7 @@ gst_cdda_base_src_add_track (GstCddaBaseSrc * src, GstCddaBaseSrcTrack * track)
|
|||
GST_OBJECT_LOCK (src);
|
||||
|
||||
++src->num_tracks;
|
||||
src->tracks = g_renew (GstCddaBaseSrcTrack, src->tracks, src->num_tracks);
|
||||
src->tracks = g_renew (GstAudioCdSrcTrack, src->tracks, src->num_tracks);
|
||||
src->tracks[src->num_tracks - 1] = *track;
|
||||
|
||||
GST_OBJECT_UNLOCK (src);
|
||||
|
@ -1058,7 +1058,7 @@ gst_cdda_base_src_add_track (GstCddaBaseSrc * src, GstCddaBaseSrcTrack * track)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_update_duration (GstCddaBaseSrc * src)
|
||||
gst_audio_cd_src_update_duration (GstAudioCdSrc * src)
|
||||
{
|
||||
GstBaseSrc *basesrc;
|
||||
gint64 dur;
|
||||
|
@ -1094,7 +1094,7 @@ cddb_sum (gint n)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cddabasesrc_calculate_musicbrainz_discid (GstCddaBaseSrc * src)
|
||||
gst_audio_cd_src_calculate_musicbrainz_discid (GstAudioCdSrc * src)
|
||||
{
|
||||
GString *s;
|
||||
GChecksum *sha;
|
||||
|
@ -1190,7 +1190,7 @@ lba_to_msf (guint sector, guint * p_m, guint * p_s, guint * p_f, guint * p_secs)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_calculate_cddb_id (GstCddaBaseSrc * src)
|
||||
gst_audio_cd_src_calculate_cddb_id (GstAudioCdSrc * src)
|
||||
{
|
||||
GString *s;
|
||||
guint first_sector = 0, last_sector = 0;
|
||||
|
@ -1267,7 +1267,7 @@ gst_cdda_base_src_calculate_cddb_id (GstCddaBaseSrc * src)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_add_tags (GstCddaBaseSrc * src)
|
||||
gst_audio_cd_src_add_tags (GstAudioCdSrc * src)
|
||||
{
|
||||
gint i;
|
||||
|
||||
|
@ -1280,7 +1280,7 @@ gst_cdda_base_src_add_tags (GstCddaBaseSrc * src)
|
|||
src->tracks[i].tags = gst_tag_list_new_empty ();
|
||||
|
||||
num_sectors = src->tracks[i].end - src->tracks[i].start + 1;
|
||||
gst_cdda_base_src_convert (src, sector_format, num_sectors,
|
||||
gst_audio_cd_src_convert (src, sector_format, num_sectors,
|
||||
GST_FORMAT_TIME, &duration);
|
||||
|
||||
gst_tag_list_add (src->tracks[i].tags,
|
||||
|
@ -1311,7 +1311,7 @@ gst_cdda_base_src_add_tags (GstCddaBaseSrc * src)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_add_index_associations (GstCddaBaseSrc * src)
|
||||
gst_audio_cd_src_add_index_associations (GstAudioCdSrc * src)
|
||||
{
|
||||
gint i;
|
||||
|
||||
|
@ -1329,9 +1329,9 @@ gst_cdda_base_src_add_index_associations (GstCddaBaseSrc * src)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_set_index (GstElement * element, GstIndex * index)
|
||||
gst_audio_cd_src_set_index (GstElement * element, GstIndex * index)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (element);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (element);
|
||||
GstIndex *old;
|
||||
|
||||
GST_OBJECT_LOCK (element);
|
||||
|
@ -1356,9 +1356,9 @@ gst_cdda_base_src_set_index (GstElement * element, GstIndex * index)
|
|||
|
||||
|
||||
static GstIndex *
|
||||
gst_cdda_base_src_get_index (GstElement * element)
|
||||
gst_audio_cd_src_get_index (GstElement * element)
|
||||
{
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (element);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (element);
|
||||
GstIndex *index;
|
||||
|
||||
GST_OBJECT_LOCK (element);
|
||||
|
@ -1370,11 +1370,11 @@ gst_cdda_base_src_get_index (GstElement * element)
|
|||
}
|
||||
|
||||
static gint
|
||||
gst_cdda_base_src_track_sort_func (gconstpointer a, gconstpointer b,
|
||||
gst_audio_cd_src_track_sort_func (gconstpointer a, gconstpointer b,
|
||||
gpointer foo)
|
||||
{
|
||||
GstCddaBaseSrcTrack *track_a = ((GstCddaBaseSrcTrack *) a);
|
||||
GstCddaBaseSrcTrack *track_b = ((GstCddaBaseSrcTrack *) b);
|
||||
GstAudioCdSrcTrack *track_a = ((GstAudioCdSrcTrack *) a);
|
||||
GstAudioCdSrcTrack *track_b = ((GstAudioCdSrcTrack *) b);
|
||||
|
||||
/* sort data tracks to the end, and audio tracks by track number */
|
||||
if (track_a->is_audio == track_b->is_audio)
|
||||
|
@ -1388,10 +1388,10 @@ gst_cdda_base_src_track_sort_func (gconstpointer a, gconstpointer b,
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_start (GstBaseSrc * basesrc)
|
||||
gst_audio_cd_src_start (GstBaseSrc * basesrc)
|
||||
{
|
||||
GstCddaBaseSrcClass *klass = GST_CDDA_BASE_SRC_GET_CLASS (basesrc);
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (basesrc);
|
||||
GstAudioCdSrcClass *klass = GST_AUDIO_CD_SRC_GET_CLASS (basesrc);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (basesrc);
|
||||
gboolean ret;
|
||||
gchar *device = NULL;
|
||||
|
||||
|
@ -1420,7 +1420,7 @@ gst_cdda_base_src_start (GstBaseSrc * basesrc)
|
|||
if (!ret) {
|
||||
GST_DEBUG_OBJECT (basesrc, "failed to open device");
|
||||
/* subclass (should have) posted an error message with the details */
|
||||
gst_cdda_base_src_stop (basesrc);
|
||||
gst_audio_cd_src_stop (basesrc);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1428,13 +1428,13 @@ gst_cdda_base_src_start (GstBaseSrc * basesrc)
|
|||
GST_DEBUG_OBJECT (src, "no tracks");
|
||||
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
|
||||
(_("This CD has no audio tracks")), (NULL));
|
||||
gst_cdda_base_src_stop (basesrc);
|
||||
gst_audio_cd_src_stop (basesrc);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* need to calculate disc IDs before we ditch the data tracks */
|
||||
gst_cdda_base_src_calculate_cddb_id (src);
|
||||
gst_cddabasesrc_calculate_musicbrainz_discid (src);
|
||||
gst_audio_cd_src_calculate_cddb_id (src);
|
||||
gst_audio_cd_src_calculate_musicbrainz_discid (src);
|
||||
|
||||
#if 0
|
||||
/* adjust sector offsets if necessary */
|
||||
|
@ -1452,7 +1452,7 @@ gst_cdda_base_src_start (GstBaseSrc * basesrc)
|
|||
src->num_all_tracks = src->num_tracks;
|
||||
|
||||
g_qsort_with_data (src->tracks, src->num_tracks,
|
||||
sizeof (GstCddaBaseSrcTrack), gst_cdda_base_src_track_sort_func, NULL);
|
||||
sizeof (GstAudioCdSrcTrack), gst_audio_cd_src_track_sort_func, NULL);
|
||||
|
||||
while (src->num_tracks > 0 && !src->tracks[src->num_tracks - 1].is_audio)
|
||||
--src->num_tracks;
|
||||
|
@ -1461,14 +1461,14 @@ gst_cdda_base_src_start (GstBaseSrc * basesrc)
|
|||
GST_DEBUG_OBJECT (src, "no audio tracks");
|
||||
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
|
||||
(_("This CD has no audio tracks")), (NULL));
|
||||
gst_cdda_base_src_stop (basesrc);
|
||||
gst_audio_cd_src_stop (basesrc);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gst_cdda_base_src_add_tags (src);
|
||||
gst_audio_cd_src_add_tags (src);
|
||||
|
||||
if (src->index && GST_INDEX_IS_WRITABLE (src->index))
|
||||
gst_cdda_base_src_add_index_associations (src);
|
||||
gst_audio_cd_src_add_index_associations (src);
|
||||
|
||||
src->cur_track = 0;
|
||||
src->prev_track = -1;
|
||||
|
@ -1477,19 +1477,19 @@ gst_cdda_base_src_start (GstBaseSrc * basesrc)
|
|||
GST_LOG_OBJECT (src, "seek to track %d", src->uri_track);
|
||||
src->cur_track = src->uri_track - 1;
|
||||
src->uri_track = -1;
|
||||
src->mode = GST_CDDA_BASE_SRC_MODE_NORMAL;
|
||||
src->mode = GST_AUDIO_CD_SRC_MODE_NORMAL;
|
||||
}
|
||||
|
||||
src->cur_sector = src->tracks[src->cur_track].start;
|
||||
GST_LOG_OBJECT (src, "starting at sector %d", src->cur_sector);
|
||||
|
||||
gst_cdda_base_src_update_duration (src);
|
||||
gst_audio_cd_src_update_duration (src);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
gst_cdda_base_src_clear_tracks (GstCddaBaseSrc * src)
|
||||
gst_audio_cd_src_clear_tracks (GstAudioCdSrc * src)
|
||||
{
|
||||
if (src->tracks != NULL) {
|
||||
gint i;
|
||||
|
@ -1507,16 +1507,16 @@ gst_cdda_base_src_clear_tracks (GstCddaBaseSrc * src)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
gst_cdda_base_src_stop (GstBaseSrc * basesrc)
|
||||
gst_audio_cd_src_stop (GstBaseSrc * basesrc)
|
||||
{
|
||||
GstCddaBaseSrcClass *klass = GST_CDDA_BASE_SRC_GET_CLASS (basesrc);
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (basesrc);
|
||||
GstAudioCdSrcClass *klass = GST_AUDIO_CD_SRC_GET_CLASS (basesrc);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (basesrc);
|
||||
|
||||
g_assert (klass->close != NULL);
|
||||
|
||||
klass->close (src);
|
||||
|
||||
gst_cdda_base_src_clear_tracks (src);
|
||||
gst_audio_cd_src_clear_tracks (src);
|
||||
|
||||
if (src->tags) {
|
||||
gst_tag_list_free (src->tags);
|
||||
|
@ -1531,10 +1531,10 @@ gst_cdda_base_src_stop (GstBaseSrc * basesrc)
|
|||
|
||||
|
||||
static GstFlowReturn
|
||||
gst_cdda_base_src_create (GstPushSrc * pushsrc, GstBuffer ** buffer)
|
||||
gst_audio_cd_src_create (GstPushSrc * pushsrc, GstBuffer ** buffer)
|
||||
{
|
||||
GstCddaBaseSrcClass *klass = GST_CDDA_BASE_SRC_GET_CLASS (pushsrc);
|
||||
GstCddaBaseSrc *src = GST_CDDA_BASE_SRC (pushsrc);
|
||||
GstAudioCdSrcClass *klass = GST_AUDIO_CD_SRC_GET_CLASS (pushsrc);
|
||||
GstAudioCdSrc *src = GST_AUDIO_CD_SRC (pushsrc);
|
||||
GstBuffer *buf;
|
||||
gboolean eos;
|
||||
|
||||
|
@ -1545,12 +1545,12 @@ gst_cdda_base_src_create (GstPushSrc * pushsrc, GstBuffer ** buffer)
|
|||
g_assert (klass->read_sector != NULL);
|
||||
|
||||
switch (src->mode) {
|
||||
case GST_CDDA_BASE_SRC_MODE_NORMAL:
|
||||
case GST_AUDIO_CD_SRC_MODE_NORMAL:
|
||||
eos = (src->cur_sector > src->tracks[src->cur_track].end);
|
||||
break;
|
||||
case GST_CDDA_BASE_SRC_MODE_CONTINUOUS:
|
||||
case GST_AUDIO_CD_SRC_MODE_CONTINUOUS:
|
||||
eos = (src->cur_sector > src->tracks[src->num_tracks - 1].end);
|
||||
src->cur_track = gst_cdda_base_src_get_track_from_sector (src,
|
||||
src->cur_track = gst_audio_cd_src_get_track_from_sector (src,
|
||||
src->cur_sector);
|
||||
break;
|
||||
default:
|
||||
|
@ -1574,7 +1574,7 @@ gst_cdda_base_src_create (GstPushSrc * pushsrc, GstBuffer ** buffer)
|
|||
gst_pad_push_event (GST_BASE_SRC_PAD (src), gst_event_new_tag (tags));
|
||||
src->prev_track = src->cur_track;
|
||||
|
||||
gst_cdda_base_src_update_duration (src);
|
||||
gst_audio_cd_src_update_duration (src);
|
||||
|
||||
g_object_notify (G_OBJECT (src), "track");
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
/* GStreamer
|
||||
* Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
|
||||
/* GStreamer Audio CD Source Base Class
|
||||
* Copyright (C) 2005 Tim-Philipp Müller <tim centricular net>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
|
@ -18,46 +17,42 @@
|
|||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GST_CDDA_BASE_SRC_H__
|
||||
#define __GST_CDDA_BASE_SRC_H__
|
||||
#ifndef __GST_AUDIO_CD_SRC_H__
|
||||
#define __GST_AUDIO_CD_SRC_H__
|
||||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/base/gstpushsrc.h>
|
||||
|
||||
/* must include this for backwards-compatibility so the
|
||||
* GST_TAG_CDDA_* defines are included. Remove in 0.11 */
|
||||
#include <gst/tag/tag.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GST_TYPE_CDDA_BASE_SRC (gst_cdda_base_src_get_type())
|
||||
#define GST_CDDA_BASE_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_CDDA_BASE_SRC, GstCddaBaseSrc))
|
||||
#define GST_CDDA_BASE_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_CDDA_BASE_SRC, GstCddaBaseSrcClass))
|
||||
#define GST_IS_CDDA_BASE_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_CDDA_BASE_SRC))
|
||||
#define GST_IS_CDDA_BASE_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_CDDA_BASE_SRC))
|
||||
#define GST_CDDA_BASE_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_CDDA_BASE_SRC, GstCddaBaseSrcClass))
|
||||
#define GST_TYPE_AUDIO_CD_SRC (gst_audio_cd_src_get_type())
|
||||
#define GST_AUDIO_CD_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_AUDIO_CD_SRC, GstAudioCdSrc))
|
||||
#define GST_AUDIO_CD_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_AUDIO_CD_SRC, GstAudioCdSrcClass))
|
||||
#define GST_IS_AUDIO_CD_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_AUDIO_CD_SRC))
|
||||
#define GST_IS_AUDIO_CD_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_AUDIO_CD_SRC))
|
||||
#define GST_AUDIO_CD_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_AUDIO_CD_SRC, GstAudioCdSrcClass))
|
||||
|
||||
typedef struct _GstCddaBaseSrc GstCddaBaseSrc;
|
||||
typedef struct _GstCddaBaseSrcClass GstCddaBaseSrcClass;
|
||||
typedef struct _GstCddaBaseSrcTrack GstCddaBaseSrcTrack;
|
||||
typedef struct _GstAudioCdSrc GstAudioCdSrc;
|
||||
typedef struct _GstAudioCdSrcClass GstAudioCdSrcClass;
|
||||
typedef struct _GstAudioCdSrcTrack GstAudioCdSrcTrack;
|
||||
|
||||
/**
|
||||
* GstCddaBaseSrcMode:
|
||||
* @GST_CDDA_BASE_SRC_MODE_NORMAL : each single track is a stream
|
||||
* @GST_CDDA_BASE_SRC_MODE_CONTINUOUS : the entire disc is a single stream
|
||||
* GstAudioCdSrcMode:
|
||||
* @GST_AUDIO_CD_SRC_MODE_NORMAL : each single track is a stream
|
||||
* @GST_AUDIO_CD_SRC_MODE_CONTINUOUS : the entire disc is a single stream
|
||||
*
|
||||
* Mode in which the CD audio source operates. Influences timestamping,
|
||||
* EOS handling and seeking.
|
||||
*/
|
||||
typedef enum {
|
||||
GST_CDDA_BASE_SRC_MODE_NORMAL, /* stream = one track */
|
||||
GST_CDDA_BASE_SRC_MODE_CONTINUOUS /* stream = whole disc */
|
||||
} GstCddaBaseSrcMode;
|
||||
GST_AUDIO_CD_SRC_MODE_NORMAL, /* stream = one track */
|
||||
GST_AUDIO_CD_SRC_MODE_CONTINUOUS /* stream = whole disc */
|
||||
} GstAudioCdSrcMode;
|
||||
|
||||
#define GST_TYPE_CDDA_BASE_SRC_MODE (gst_cdda_base_src_mode_get_type ())
|
||||
#define GST_TYPE_AUDIO_CD_SRC_MODE (gst_audio_cd_src_mode_get_type ())
|
||||
|
||||
/**
|
||||
* GstCddaBaseSrcTrack:
|
||||
* GstAudioCdSrcTrack:
|
||||
* @is_audio: Whether this is an audio track
|
||||
* @num: Track number in TOC (usually starts from 1, but not always)
|
||||
* @start: The first sector of this track (LBA)
|
||||
|
@ -66,7 +61,7 @@ typedef enum {
|
|||
*
|
||||
* CD track abstraction to communicate TOC entries to the base class.
|
||||
*/
|
||||
struct _GstCddaBaseSrcTrack {
|
||||
struct _GstAudioCdSrcTrack {
|
||||
gboolean is_audio; /* TRUE if this is an audio track */
|
||||
guint num; /* real track number (usually starts from 1) */
|
||||
guint start; /* first sector of track (LBA, not LSN!) */
|
||||
|
@ -78,20 +73,20 @@ struct _GstCddaBaseSrcTrack {
|
|||
gpointer _gst_reserved2[GST_PADDING/2];
|
||||
};
|
||||
|
||||
struct _GstCddaBaseSrc {
|
||||
struct _GstAudioCdSrc {
|
||||
GstPushSrc pushsrc;
|
||||
|
||||
/*< protected >*/ /* for use by sub-classes only */
|
||||
GstTagList *tags; /* tags that apply to all tracks */
|
||||
|
||||
/*< private >*/
|
||||
GstCddaBaseSrcMode mode;
|
||||
GstAudioCdSrcMode mode;
|
||||
|
||||
gchar *device;
|
||||
|
||||
guint num_tracks;
|
||||
guint num_all_tracks;
|
||||
GstCddaBaseSrcTrack *tracks;
|
||||
GstAudioCdSrcTrack *tracks;
|
||||
|
||||
gint cur_track; /* current track (starting from 0) */
|
||||
gint prev_track; /* current track last time */
|
||||
|
@ -116,7 +111,7 @@ struct _GstCddaBaseSrc {
|
|||
};
|
||||
|
||||
/**
|
||||
* GstCddaBaseSrcClass:
|
||||
* GstAudioCdSrcClass:
|
||||
* @pushsrc_class: the parent class
|
||||
* @open: opening the device
|
||||
* @close: closing the device
|
||||
|
@ -124,33 +119,34 @@ struct _GstCddaBaseSrc {
|
|||
* @get_default_device: getting the default device
|
||||
* @probe_devices: probing possible devices
|
||||
*
|
||||
* Cdda source base class.
|
||||
* Audio CD source base class.
|
||||
*/
|
||||
struct _GstCddaBaseSrcClass {
|
||||
struct _GstAudioCdSrcClass {
|
||||
GstPushSrcClass pushsrc_class;
|
||||
|
||||
/* open/close the CD device */
|
||||
gboolean (*open) (GstCddaBaseSrc *src, const gchar *device);
|
||||
void (*close) (GstCddaBaseSrc *src);
|
||||
gboolean (*open) (GstAudioCdSrc *src, const gchar *device);
|
||||
void (*close) (GstAudioCdSrc *src);
|
||||
|
||||
/* read one sector (LBA) */
|
||||
GstBuffer * (*read_sector) (GstCddaBaseSrc *src, gint sector);
|
||||
GstBuffer * (*read_sector) (GstAudioCdSrc *src, gint sector);
|
||||
|
||||
/* return default device or NULL (optional) */
|
||||
gchar * (*get_default_device) (GstCddaBaseSrc *src);
|
||||
gchar * (*get_default_device) (GstAudioCdSrc *src);
|
||||
|
||||
/* return NULL-terminated string array of CD devices, or NULL (optional) */
|
||||
gchar ** (*probe_devices) (GstCddaBaseSrc *src);
|
||||
/* FIXME 0.11: reconsider for new probing/device discovery API, remove if in doubt */
|
||||
gchar ** (*probe_devices) (GstAudioCdSrc *src);
|
||||
|
||||
/*< private >*/
|
||||
gpointer _gst_reserved[GST_PADDING];
|
||||
};
|
||||
|
||||
GType gst_cdda_base_src_get_type (void);
|
||||
GType gst_cdda_base_src_mode_get_type (void);
|
||||
GType gst_audio_cd_src_get_type (void);
|
||||
GType gst_audio_cd_src_mode_get_type (void);
|
||||
|
||||
gboolean gst_cdda_base_src_add_track (GstCddaBaseSrc * src,
|
||||
GstCddaBaseSrcTrack * track);
|
||||
gboolean gst_audio_cd_src_add_track (GstAudioCdSrc * src,
|
||||
GstAudioCdSrcTrack * track);
|
||||
|
||||
#if 0
|
||||
/*
|
||||
|
@ -164,5 +160,5 @@ gboolean gst_cdda_base_src_add_track (GstCddaBaseSrc * src,
|
|||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_CDDA_BASE_SRC_H__ */
|
||||
#endif /* __GST_AUDIO_CD_SRC_H__ */
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
lib_LTLIBRARIES = libgstcdda-@GST_MAJORMINOR@.la
|
||||
|
||||
libgstcdda_@GST_MAJORMINOR@_la_SOURCES = \
|
||||
gstcddabasesrc.c
|
||||
|
||||
libgstcdda_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/cdda
|
||||
libgstcdda_@GST_MAJORMINOR@include_HEADERS = \
|
||||
gstcddabasesrc.h
|
||||
|
||||
libgstcdda_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) \
|
||||
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la
|
||||
libgstcdda_@GST_MAJORMINOR@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
|
||||
libgstcdda_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
|
||||
|
||||
# Disabled until this is fixed:
|
||||
# http://bugzilla.gnome.org/show_bug.cgi?id=594209
|
||||
if FALSE
|
||||
if HAVE_INTROSPECTION
|
||||
BUILT_GIRSOURCES = GstCdda-@GST_MAJORMINOR@.gir
|
||||
|
||||
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstcdda_@GST_MAJORMINOR@include_HEADERS))
|
||||
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstcdda_@GST_MAJORMINOR@_la_SOURCES))
|
||||
gir_cincludes=$(patsubst %,--c-include='gst/cdda/%',$(libgstcdda_@GST_MAJORMINOR@include_HEADERS))
|
||||
|
||||
GstCdda-@GST_MAJORMINOR@.gir: $(INTROSPECTION_SCANNER) libgstcdda-@GST_MAJORMINOR@.la
|
||||
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
|
||||
GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
|
||||
$(INTROSPECTION_SCANNER) -v --namespace GstCdda \
|
||||
--nsversion=@GST_MAJORMINOR@ \
|
||||
--strip-prefix=Gst \
|
||||
$(gir_cincludes) \
|
||||
-DGST_USE_UNSTABLE_API \
|
||||
--add-include-path=$(builddir)/../tag \
|
||||
--add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-@GST_MAJORMINOR@` \
|
||||
--add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_MAJORMINOR@` \
|
||||
--library=libgstcdda-@GST_MAJORMINOR@.la \
|
||||
--include=Gst-@GST_MAJORMINOR@ \
|
||||
--include=GstBase-@GST_MAJORMINOR@ \
|
||||
--include=GstTag-@GST_MAJORMINOR@ \
|
||||
--libtool="$(top_builddir)/libtool" \
|
||||
--pkg gstreamer-@GST_MAJORMINOR@ \
|
||||
--pkg gstreamer-base-@GST_MAJORMINOR@ \
|
||||
--pkg gstreamer-tag-@GST_MAJORMINOR@ \
|
||||
--pkg-export gstreamer-cdda-@GST_MAJORMINOR@ \
|
||||
--add-init-section="gst_init(NULL,NULL);" \
|
||||
--output $@ \
|
||||
$(gir_headers) \
|
||||
$(gir_sources)
|
||||
|
||||
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
|
||||
# install anything - we need to install inside our prefix.
|
||||
girdir = $(datadir)/gir-1.0
|
||||
gir_DATA = $(BUILT_GIRSOURCES)
|
||||
|
||||
typelibsdir = $(libdir)/girepository-1.0/
|
||||
|
||||
typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
|
||||
|
||||
%.typelib: %.gir $(INTROSPECTION_COMPILER)
|
||||
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
|
||||
$(INTROSPECTION_COMPILER) \
|
||||
--includedir=$(srcdir) \
|
||||
--includedir=$(builddir) \
|
||||
--includedir=$(builddir)/../tag \
|
||||
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-@GST_MAJORMINOR@` \
|
||||
--includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_MAJORMINOR@` \
|
||||
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
|
||||
|
||||
CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
|
||||
endif
|
||||
endif
|
|
@ -85,7 +85,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||
|
||||
# libraries
|
||||
%{_libdir}/libgstaudio-%{majorminor}.so.*
|
||||
%{_libdir}/libgstcdda-%{majorminor}.so*
|
||||
%{_libdir}/libgstinterfaces-%{majorminor}.so.*
|
||||
%{_libdir}/libgstpbutils-%{majorminor}.so*
|
||||
%{_libdir}/libgstriff-%{majorminor}.so.*
|
||||
|
@ -172,7 +171,7 @@ GStreamer Plugins Base library development and header files.
|
|||
%{_includedir}/gstreamer-%{majorminor}/gst/tag/tag.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideofilter.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideosink.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/cdda/gstcddabasesrc.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiocdsrc.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/audio/mixerutils.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/videoorientation.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/pbutils/descriptions.h
|
||||
|
@ -230,13 +229,11 @@ GStreamer Plugins Base library development and header files.
|
|||
%{_libdir}/libgstrtp-%{majorminor}.so
|
||||
%{_libdir}/libgstinterfaces-%{majorminor}.so
|
||||
%{_libdir}/libgstpbutils-%{majorminor}.so
|
||||
%{_libdir}/libgstcdda-%{majorminor}.so
|
||||
%{_libdir}/libgstapp-%{majorminor}.so
|
||||
|
||||
# pkg-config files
|
||||
%{_libdir}/pkgconfig/gstreamer-plugins-base-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-audio-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-cdda-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-fft-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-interfaces-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-pbutils-%{majorminor}.pc
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
pcverfiles = \
|
||||
gstreamer-audio-@GST_MAJORMINOR@.pc \
|
||||
gstreamer-app-@GST_MAJORMINOR@.pc \
|
||||
gstreamer-cdda-@GST_MAJORMINOR@.pc \
|
||||
gstreamer-fft-@GST_MAJORMINOR@.pc \
|
||||
gstreamer-interfaces-@GST_MAJORMINOR@.pc \
|
||||
gstreamer-pbutils-@GST_MAJORMINOR@.pc \
|
||||
|
@ -16,7 +15,6 @@ pcverfiles = \
|
|||
pcverfiles_uninstalled = \
|
||||
gstreamer-audio-@GST_MAJORMINOR@-uninstalled.pc \
|
||||
gstreamer-app-@GST_MAJORMINOR@-uninstalled.pc \
|
||||
gstreamer-cdda-@GST_MAJORMINOR@-uninstalled.pc \
|
||||
gstreamer-fft-@GST_MAJORMINOR@-uninstalled.pc \
|
||||
gstreamer-interfaces-@GST_MAJORMINOR@-uninstalled.pc \
|
||||
gstreamer-pbutils-@GST_MAJORMINOR@-uninstalled.pc \
|
||||
|
@ -47,7 +45,6 @@ CLEANFILES = $(pcverfiles) $(pcverfiles_uninstalled)
|
|||
pcinfiles = \
|
||||
gstreamer-audio.pc.in gstreamer-audio-uninstalled.pc.in \
|
||||
gstreamer-app.pc.in gstreamer-app-uninstalled.pc.in \
|
||||
gstreamer-cdda.pc.in gstreamer-cdda-uninstalled.pc.in \
|
||||
gstreamer-fft.pc.in gstreamer-fft-uninstalled.pc.in \
|
||||
gstreamer-interfaces.pc.in gstreamer-interfaces-uninstalled.pc.in \
|
||||
gstreamer-pbutils.pc.in gstreamer-pbutils-uninstalled.pc.in \
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
# the standard variables don't make sense for an uninstalled copy
|
||||
prefix=
|
||||
exec_prefix=
|
||||
libdir=
|
||||
# includedir is builddir because it is used to find gstconfig.h in places
|
||||
includedir=@abs_top_builddir@/gst-libs
|
||||
girdir=@abs_top_builddir@/gst-libs/gst/cdda
|
||||
typelibdir=@abs_top_builddir@/gst-libs/gst/cdda
|
||||
|
||||
Name: GStreamer CDDA Library, Uninstalled
|
||||
Description: CDDA base classes, uninstalled
|
||||
Version: @VERSION@
|
||||
Requires: gstreamer-@GST_MAJORMINOR@ gstreamer-base-@GST_MAJORMINOR@ gstreamer-tag-@GST_MAJORMINOR@
|
||||
Libs: @abs_top_builddir@/gst-libs/gst/cdda/libgstcdda-@GST_MAJORMINOR@.la
|
||||
Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@/gstreamer-@GST_MAJORMINOR@
|
||||
datarootdir=${prefix}/share
|
||||
datadir=${datarootdir}
|
||||
girdir=${datadir}/gir-1.0
|
||||
typelibdir=${libdir}/girepository-1.0
|
||||
|
||||
Name: GStreamer CDDA Library
|
||||
Description: CDDA base classes
|
||||
Requires: gstreamer-@GST_MAJORMINOR@ gstreamer-base-@GST_MAJORMINOR@ gstreamer-tag-@GST_MAJORMINOR@
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lgstcdda-@GST_MAJORMINOR@
|
||||
Cflags: -I${includedir}
|
||||
|
|
@ -10,7 +10,7 @@ Name: GStreamer Base Plugins Libraries, Uninstalled
|
|||
Description: Streaming media framework, base plugins libraries, uninstalled
|
||||
Version: @VERSION@
|
||||
Requires: gstreamer-@GST_MAJORMINOR@
|
||||
Libs: -L@abs_top_builddir@/gst-libs/gst/audio -L@abs_top_builddir@/gst-libs/gst/cdda -L@abs_top_builddir@/gst-libs/gst/fft -L@abs_top_builddir@/gst-libs/gst/floatcast -L@abs_top_builddir@/gst-libs/gst/interfaces -L@abs_top_builddir@/gst-libs/gst/riff -L@abs_top_builddir@/gst-libs/gst/rtp -L@abs_top_builddir@/gst-libs/gst/rtsp -L@abs_top_builddir@/gst-libs/gst/sdp -L@abs_top_builddir@/gst-libs/gst/tag -L@abs_top_builddir@/gst-libs/gst/pbutils -L@abs_top_builddir@/gst-libs/gst/video -L@abs_top_builddir@/gst-libs/gst/app
|
||||
Libs: -L@abs_top_builddir@/gst-libs/gst/audio -L@abs_top_builddir@/gst-libs/gst/fft -L@abs_top_builddir@/gst-libs/gst/interfaces -L@abs_top_builddir@/gst-libs/gst/riff -L@abs_top_builddir@/gst-libs/gst/rtp -L@abs_top_builddir@/gst-libs/gst/rtsp -L@abs_top_builddir@/gst-libs/gst/sdp -L@abs_top_builddir@/gst-libs/gst/tag -L@abs_top_builddir@/gst-libs/gst/pbutils -L@abs_top_builddir@/gst-libs/gst/video -L@abs_top_builddir@/gst-libs/gst/app
|
||||
Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
|
||||
|
||||
libraries=app audio cdda fft floatcast interfaces riff rtp rtsp sdp tag pbutils video
|
||||
libraries=app audio fft interfaces riff rtp rtsp sdp tag pbutils video
|
||||
|
|
|
@ -11,4 +11,4 @@ Version: @VERSION@
|
|||
Libs: -L${libdir}
|
||||
Cflags: -I${includedir}
|
||||
|
||||
libraries=audio cdda fft floatcast interfaces riff rtp tag pbutils video
|
||||
libraries=audio fft interfaces riff rtp tag pbutils video
|
||||
|
|
|
@ -10,9 +10,9 @@ gst/playback/gsturidecodebin.c
|
|||
gst/tcp/gsttcp.c
|
||||
gst/tcp/gsttcpclientsink.c
|
||||
gst/tcp/gsttcpclientsrc.c
|
||||
gst-libs/gst/audio/gstaudiocdsrc.c
|
||||
gst-libs/gst/audio/gstbaseaudiosrc.c
|
||||
gst-libs/gst/tag/gsttagdemux.c
|
||||
gst-libs/gst/tag/tags.c
|
||||
gst-libs/gst/cdda/gstcddabasesrc.c
|
||||
gst-libs/gst/pbutils/descriptions.c
|
||||
gst-libs/gst/pbutils/missing-plugins.c
|
||||
|
|
|
@ -7,7 +7,6 @@ win32/common/interfaces-enumtypes.c
|
|||
win32/common/interfaces-enumtypes.h
|
||||
win32/common/libgstapp.def
|
||||
win32/common/libgstaudio.def
|
||||
win32/common/libgstcdda.def
|
||||
win32/common/libgstinterfaces.def
|
||||
win32/common/libgstpbutils.def
|
||||
win32/common/libgstriff.def
|
||||
|
@ -31,7 +30,6 @@ win32/vs6/libgstaudiorate.dsp
|
|||
win32/vs6/libgstaudioresample.dsp
|
||||
win32/vs6/libgstaudioscale.dsp
|
||||
win32/vs6/libgstaudiotestsrc.dsp
|
||||
win32/vs6/libgstcdda.dsp
|
||||
win32/vs6/libgstdecodebin2.dsp
|
||||
win32/vs6/libgstdecodebin.dsp
|
||||
win32/vs6/libgstfft.dsp
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
EXPORTS
|
||||
gst_cdda_base_src_add_track
|
||||
gst_cdda_base_src_get_type
|
||||
gst_cdda_base_src_mode_get_type
|
|
@ -1,143 +0,0 @@
|
|||
# Microsoft Developer Studio Project File - Name="libgstcdda" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=libgstcdda - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libgstcdda.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libgstcdda.mak" CFG="libgstcdda - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "libgstcdda - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "libgstcdda - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "libgstcdda - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBGSTCDDA_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /O2 /I "../../gst-libs" /I "../../../gstreamer" /I "../common" /I "../../../gstreamer/libs" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBGSTCDDA_EXPORTS" /D "HAVE_CONFIG_H" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x40c /d "NDEBUG"
|
||||
# ADD RSC /l 0x40c /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 glib-2.0.lib gobject-2.0.lib libgstreamer-0.10.lib libgstbase-0.10.lib libgsttag-0.10.lib /nologo /dll /machine:I386 /out:"Release/libgstcdda-0.10.dll" /libpath:"../../../gstreamer/win32/vs6/release" /libpath:"./release"
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Release\libgstcdda-0.10.dll
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Cmds=copy /Y $(TargetPath) c:\gstreamer\bin
|
||||
# End Special Build Tool
|
||||
|
||||
!ELSEIF "$(CFG)" == "libgstcdda - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBGSTCDDA_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "../../gst-libs" /I "../../../gstreamer" /I "../common" /I "../../../gstreamer/libs" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBGSTCDDA_EXPORTS" /D "HAVE_CONFIG_H" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x40c /d "_DEBUG"
|
||||
# ADD RSC /l 0x40c /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 glib-2.0D.lib gobject-2.0D.lib libgstreamer-0.10.lib libgstbase-0.10.lib libgsttag-0.10.lib /nologo /dll /debug /machine:I386 /out:"Debug/libgstcdda-0.10.dll" /pdbtype:sept /libpath:"../../../gstreamer/win32/vs6/debug" /libpath:"./debug"
|
||||
# Begin Special Build Tool
|
||||
TargetPath=.\Debug\libgstcdda-0.10.dll
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Cmds=copy /Y $(TargetPath) c:\gstreamer\debug\bin
|
||||
# End Special Build Tool
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "libgstcdda - Win32 Release"
|
||||
# Name "libgstcdda - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\gst-libs\gst\cdda\base64.c"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\gst-libs\gst\cdda\gstcddabasesrc.c"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\libgstcdda.def
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\gst-libs\gst\cdda\sha1.c"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\gst-libs\gst\cdda\base64.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\gst-libs\gst\cdda\gstcddabasesrc.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\..\gst-libs\gst\cdda\sha1.h"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
Loading…
Reference in a new issue