Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Seungha Yang
gst-plugins-base
Commits
eeb7984b
Commit
eeb7984b
authored
Jun 30, 2005
by
Thomas Vander Stichele
Browse files
remove old ones
Original commit message from CVS: remove old ones
parent
5014a9ee
Changes
32
Hide whitespace changes
Inline
Side-by-side
gst-libs/gst/mixer/.gitignore
deleted
100644 → 0
View file @
5014a9ee
mixer-enumtypes.[ch]
mixer-marshal.[ch]
gst-libs/gst/mixer/Makefile.am
deleted
100644 → 0
View file @
5014a9ee
# variables used for enum/marshal generation
glib_enum_headers
=
$(mixer_headers)
glib_enum_define
=
GST_MIXER
glib_enum_prefix
=
gst_mixer
libgstmixerincludedir
=
\
$(includedir)
/gstreamer-@GST_MAJORMINOR@/gst/mixer
mixer_headers
=
\
mixer.h
\
mixeroptions.h
\
mixertrack.h
built_sources
=
\
mixer-marshal.c
\
mixer-enumtypes.c
built_headers
=
\
mixer-marshal.h
\
mixer-enumtypes.h
libgstmixerinclude_HEADERS
=
\
$(mixer_headers)
nodist_libgstmixerinclude_HEADERS
=
\
mixer-enumtypes.h
noinst_LTLIBRARIES
=
libgstmixer.la
libgstmixer_la_SOURCES
=
\
mixer.c
\
mixeroptions.c
\
mixertrack.c
nodist_libgstmixer_la_SOURCES
=
\
$(built_sources)
libgstmixer_la_CFLAGS
=
$(GST_CFLAGS)
BUILT_SOURCES
=
\
$(built_sources)
\
$(built_headers)
EXTRA_DIST
=
mixer-marshal.list
CLEANFILES
=
$(BUILT_SOURCES)
include
$(top_srcdir)/common/glib-gen.mak
gst-libs/gst/mixer/mixer-marshal.list
deleted
100644 → 0
View file @
5014a9ee
VOID:OBJECT,BOOLEAN
VOID:OBJECT,POINTER
VOID:OBJECT,STRING
gst-libs/gst/mixer/mixer.c
deleted
100644 → 0
View file @
5014a9ee
/* GStreamer Mixer
* Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
*
* mixer.c: mixer design virtual class function wrappers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include
"config.h"
#endif
#include
"mixer.h"
#include
"mixer-marshal.h"
enum
{
SIGNAL_MUTE_TOGGLED
,
SIGNAL_RECORD_TOGGLED
,
SIGNAL_VOLUME_CHANGED
,
SIGNAL_OPTION_CHANGED
,
LAST_SIGNAL
};
static
void
gst_mixer_class_init
(
GstMixerClass
*
klass
);
static
guint
gst_mixer_signals
[
LAST_SIGNAL
]
=
{
0
};
GType
gst_mixer_get_type
(
void
)
{
static
GType
gst_mixer_type
=
0
;
if
(
!
gst_mixer_type
)
{
static
const
GTypeInfo
gst_mixer_info
=
{
sizeof
(
GstMixerClass
),
(
GBaseInitFunc
)
gst_mixer_class_init
,
NULL
,
NULL
,
NULL
,
NULL
,
0
,
0
,
NULL
,
};
gst_mixer_type
=
g_type_register_static
(
G_TYPE_INTERFACE
,
"GstMixer"
,
&
gst_mixer_info
,
0
);
g_type_interface_add_prerequisite
(
gst_mixer_type
,
GST_TYPE_IMPLEMENTS_INTERFACE
);
}
return
gst_mixer_type
;
}
static
void
gst_mixer_class_init
(
GstMixerClass
*
klass
)
{
static
gboolean
initialized
=
FALSE
;
if
(
!
initialized
)
{
gst_mixer_signals
[
SIGNAL_RECORD_TOGGLED
]
=
g_signal_new
(
"record-toggled"
,
GST_TYPE_MIXER
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GstMixerClass
,
record_toggled
),
NULL
,
NULL
,
gst_mixer_marshal_VOID__OBJECT_BOOLEAN
,
G_TYPE_NONE
,
2
,
GST_TYPE_MIXER_TRACK
,
G_TYPE_BOOLEAN
);
gst_mixer_signals
[
SIGNAL_MUTE_TOGGLED
]
=
g_signal_new
(
"mute-toggled"
,
GST_TYPE_MIXER
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GstMixerClass
,
mute_toggled
),
NULL
,
NULL
,
gst_mixer_marshal_VOID__OBJECT_BOOLEAN
,
G_TYPE_NONE
,
2
,
GST_TYPE_MIXER_TRACK
,
G_TYPE_BOOLEAN
);
gst_mixer_signals
[
SIGNAL_VOLUME_CHANGED
]
=
g_signal_new
(
"volume-changed"
,
GST_TYPE_MIXER
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GstMixerClass
,
volume_changed
),
NULL
,
NULL
,
gst_mixer_marshal_VOID__OBJECT_POINTER
,
G_TYPE_NONE
,
2
,
GST_TYPE_MIXER_TRACK
,
G_TYPE_POINTER
);
gst_mixer_signals
[
SIGNAL_OPTION_CHANGED
]
=
g_signal_new
(
"option-changed"
,
GST_TYPE_MIXER
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GstMixerClass
,
option_changed
),
NULL
,
NULL
,
gst_mixer_marshal_VOID__OBJECT_STRING
,
G_TYPE_NONE
,
2
,
GST_TYPE_MIXER_OPTIONS
,
G_TYPE_STRING
);
initialized
=
TRUE
;
}
klass
->
mixer_type
=
GST_MIXER_SOFTWARE
;
/* default virtual functions */
klass
->
list_tracks
=
NULL
;
klass
->
set_volume
=
NULL
;
klass
->
get_volume
=
NULL
;
klass
->
set_mute
=
NULL
;
klass
->
set_record
=
NULL
;
klass
->
set_option
=
NULL
;
klass
->
get_option
=
NULL
;
}
/**
* gst_mixer_list_tracks:
* @mixer: the #GstMixer (a #GstElement) to get the tracks from.
*
* Returns a list of available tracks for this mixer/element. Note
* that it is allowed for sink (output) elements to only provide
* the output tracks in this list. Likewise, for sources (inputs),
* it is allowed to only provide input elements in this list.
*
* Returns: A #GList consisting of zero or more #GstMixerTracks.
*/
const
GList
*
gst_mixer_list_tracks
(
GstMixer
*
mixer
)
{
GstMixerClass
*
klass
=
GST_MIXER_GET_CLASS
(
mixer
);
if
(
klass
->
list_tracks
)
{
return
klass
->
list_tracks
(
mixer
);
}
return
NULL
;
}
/**
* gst_mixer_set_volume:
* @mixer: The #GstMixer (a #GstElement) that owns the track.
* @track: The #GstMixerTrack to set the volume on.
* @volumes: an array of integers (of size track->num_channels)
* that gives the wanted volume for each channel in
* this track.
*
* Sets the volume on each channel in a track. Short note about
* naming: a track is defined as one separate stream owned by
* the mixer/element, such as 'Line-in' or 'Microphone'. A
* channel is said to be a mono-stream inside this track. A
* stereo track thus contains two channels.
*/
void
gst_mixer_set_volume
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
)
{
GstMixerClass
*
klass
=
GST_MIXER_GET_CLASS
(
mixer
);
if
(
klass
->
set_volume
)
{
klass
->
set_volume
(
mixer
,
track
,
volumes
);
}
}
/*
* gst_mixer_get_volume:
* @mixer: the #GstMixer (a #GstElement) that owns the track
* @track: the GstMixerTrack to get the volume from.
* @volumes: a pre-allocated array of integers (of size
* track->num_channels) to store the current volume
* of each channel in the given track in.
*
* Get the current volume(s) on the given track.
*/
void
gst_mixer_get_volume
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
)
{
GstMixerClass
*
klass
=
GST_MIXER_GET_CLASS
(
mixer
);
if
(
klass
->
get_volume
)
{
klass
->
get_volume
(
mixer
,
track
,
volumes
);
}
else
{
gint
i
;
for
(
i
=
0
;
i
<
track
->
num_channels
;
i
++
)
{
volumes
[
i
]
=
0
;
}
}
}
/**
* gst_mixer_set_mute:
* @mixer: the #GstMixer (a #GstElement) that owns the track.
* @track: the #GstMixerTrack to operate on.
* @mute: a boolean value indicating whether to turn on or off
* muting.
*
* Mutes or unmutes the given channel. To find out whether a
* track is currently muted, use GST_MIXER_TRACK_HAS_FLAG ().
*/
void
gst_mixer_set_mute
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
mute
)
{
GstMixerClass
*
klass
=
GST_MIXER_GET_CLASS
(
mixer
);
if
(
klass
->
set_mute
)
{
klass
->
set_mute
(
mixer
,
track
,
mute
);
}
}
/**
* gst_mixer_set_record:
* @mixer: The #GstMixer (a #GstElement) that owns the track.
* @track: the #GstMixerTrack to operate on.
* @record: a boolean value that indicates whether to turn on
* or off recording.
*
* Enables or disables recording on the given track. Note that
* this is only possible on input tracks, not on output tracks
* (see GST_MIXER_TRACK_HAS_FLAG () and the GST_MIXER_TRACK_INPUT
* flag).
*/
void
gst_mixer_set_record
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
record
)
{
GstMixerClass
*
klass
=
GST_MIXER_GET_CLASS
(
mixer
);
if
(
klass
->
set_record
)
{
klass
->
set_record
(
mixer
,
track
,
record
);
}
}
/**
* gst_mixer_set_option:
* @mixer: The #GstMixer (a #GstElement) that owns the optionlist.
* @opts: The #GstMixerOptions that we operate on.
* @value: The requested new option value.
*
* Sets a name/value option in the mixer to the requested value.
*/
void
gst_mixer_set_option
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
,
gchar
*
value
)
{
GstMixerClass
*
klass
=
GST_MIXER_GET_CLASS
(
mixer
);
if
(
klass
->
set_option
)
{
klass
->
set_option
(
mixer
,
opts
,
value
);
}
}
/**
* gst_mixer_get_option:
* @mixer: The #GstMixer (a #GstElement) that owns the optionlist.
* @opts: The #GstMixerOptions that we operate on.
*
* Get the current value of a name/value option in the mixer.
*
* Returns: current value of the name/value option.
*/
const
gchar
*
gst_mixer_get_option
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
)
{
GstMixerClass
*
klass
=
GST_MIXER_GET_CLASS
(
mixer
);
if
(
klass
->
get_option
)
{
return
klass
->
get_option
(
mixer
,
opts
);
}
return
NULL
;
}
void
gst_mixer_mute_toggled
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
mute
)
{
g_signal_emit
(
G_OBJECT
(
mixer
),
gst_mixer_signals
[
SIGNAL_MUTE_TOGGLED
],
0
,
track
,
mute
);
g_signal_emit_by_name
(
G_OBJECT
(
track
),
"mute_toggled"
,
mute
);
}
void
gst_mixer_record_toggled
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
record
)
{
g_signal_emit
(
G_OBJECT
(
mixer
),
gst_mixer_signals
[
SIGNAL_RECORD_TOGGLED
],
0
,
track
,
record
);
g_signal_emit_by_name
(
G_OBJECT
(
track
),
"record_toggled"
,
record
);
}
void
gst_mixer_volume_changed
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
)
{
g_signal_emit
(
G_OBJECT
(
mixer
),
gst_mixer_signals
[
SIGNAL_VOLUME_CHANGED
],
0
,
track
,
volumes
);
g_signal_emit_by_name
(
G_OBJECT
(
track
),
"volume_changed"
,
volumes
);
}
void
gst_mixer_option_changed
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
,
gchar
*
value
)
{
g_signal_emit
(
G_OBJECT
(
mixer
),
gst_mixer_signals
[
SIGNAL_OPTION_CHANGED
],
0
,
opts
,
value
);
g_signal_emit_by_name
(
G_OBJECT
(
opts
),
"value_changed"
,
value
);
}
gst-libs/gst/mixer/mixer.h
deleted
100644 → 0
View file @
5014a9ee
/* GStreamer Mixer
* Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
*
* mixer.h: mixer interface design
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __GST_MIXER_H__
#define __GST_MIXER_H__
#include
<gst/gst.h>
#include
<gst/mixer/mixeroptions.h>
#include
<gst/mixer/mixertrack.h>
#include
<gst/mixer/mixer-enumtypes.h>
G_BEGIN_DECLS
#define GST_TYPE_MIXER \
(gst_mixer_get_type ())
#define GST_MIXER(obj) \
(GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_MIXER, GstMixer))
#define GST_MIXER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_MIXER, GstMixerClass))
#define GST_IS_MIXER(obj) \
(GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIXER))
#define GST_IS_MIXER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER))
#define GST_MIXER_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_MIXER, GstMixerClass))
#define GST_MIXER_TYPE(klass) (klass->mixer_type)
typedef
struct
_GstMixer
GstMixer
;
typedef
struct
_GstMixerClass
GstMixerClass
;
typedef
enum
{
GST_MIXER_HARDWARE
,
GST_MIXER_SOFTWARE
}
GstMixerType
;
struct
_GstMixerClass
{
GTypeInterface
klass
;
GstMixerType
mixer_type
;
/* virtual functions */
const
GList
*
(
*
list_tracks
)
(
GstMixer
*
mixer
);
void
(
*
set_volume
)
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
);
void
(
*
get_volume
)
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
);
void
(
*
set_mute
)
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
mute
);
void
(
*
set_record
)
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
record
);
/* signals */
void
(
*
mute_toggled
)
(
GstMixer
*
mixer
,
GstMixerTrack
*
channel
,
gboolean
mute
);
void
(
*
record_toggled
)
(
GstMixer
*
mixer
,
GstMixerTrack
*
channel
,
gboolean
record
);
void
(
*
volume_changed
)
(
GstMixer
*
mixer
,
GstMixerTrack
*
channel
,
gint
*
volumes
);
/* use padding */
void
(
*
set_option
)
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
,
gchar
*
value
);
const
gchar
*
(
*
get_option
)
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
);
void
(
*
option_changed
)
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
,
gchar
*
option
);
gpointer
_gst_reserved
[
GST_PADDING
-
3
];
};
GType
gst_mixer_get_type
(
void
);
/* virtual class function wrappers */
const
GList
*
gst_mixer_list_tracks
(
GstMixer
*
mixer
);
void
gst_mixer_set_volume
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
);
void
gst_mixer_get_volume
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
);
void
gst_mixer_set_mute
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
mute
);
void
gst_mixer_set_record
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
record
);
void
gst_mixer_set_option
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
,
gchar
*
value
);
const
gchar
*
gst_mixer_get_option
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
);
/* trigger signals */
void
gst_mixer_mute_toggled
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
mute
);
void
gst_mixer_record_toggled
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gboolean
record
);
void
gst_mixer_volume_changed
(
GstMixer
*
mixer
,
GstMixerTrack
*
track
,
gint
*
volumes
);
void
gst_mixer_option_changed
(
GstMixer
*
mixer
,
GstMixerOptions
*
opts
,
gchar
*
value
);
G_END_DECLS
#endif
/* __GST_MIXER_H__ */
gst-libs/gst/mixer/mixer.vcproj
deleted
100644 → 0
View file @
5014a9ee
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType=
"Visual C++"
Version=
"7.10"
Name=
"mixer"
ProjectGUID=
"{979C216F-0ACF-4956-AE00-055A42D67897}"
RootNamespace=
"mixer"
Keyword=
"Win32Proj"
>
<Platforms>
<Platform
Name=
"Win32"
/>
</Platforms>
<Configurations>
<Configuration
Name=
"Debug|Win32"
OutputDirectory=
"../../../win32/Debug"
IntermediateDirectory=
"../../../win32/Debug"
ConfigurationType=
"2"
CharacterSet=
"2"
>
<Tool
Name=
"VCCLCompilerTool"
Optimization=
"0"
AdditionalIncludeDirectories=
"../../../../gstreamer/win32;../../../../gstreamer;../../../../gstreamer/libs;../../../../glib;../../../../glib/glib;../../../../glib/gmodule;"../../../gst-libs";../../../../popt/include;../../../../libxml2/include/libxml2"
PreprocessorDefinitions=
"WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_H;_USE_MATH_DEFINES"
MinimalRebuild=
"TRUE"
BasicRuntimeChecks=
"3"
RuntimeLibrary=
"3"
UsePrecompiledHeader=
"0"
WarningLevel=
"3"
Detect64BitPortabilityProblems=
"TRUE"
DebugInformationFormat=
"4"
/>
<Tool
Name=
"VCCustomBuildTool"
/>
<Tool
Name=
"VCLinkerTool"
AdditionalDependencies=
"glib-2.0.lib gmodule-2.0.lib gthread-2.0.lib gobject-2.0.lib libgstreamer.lib gstbytestream.lib iconv.lib intl.lib"
OutputFile=
"$(OutDir)/gstmixer.dll"
LinkIncremental=
"2"
AdditionalLibraryDirectories=
"../../../../gstreamer/win32/Debug;../../../../glib/glib;../../../../glib/gmodule;../../../../glib/gthread;../../../../glib/gobject;../../../../gettext/lib;../../../../libiconv/lib"
ModuleDefinitionFile=
"mixer.def"
GenerateDebugInformation=
"TRUE"
ProgramDatabaseFile=
"$(OutDir)/mixer.pdb"
SubSystem=
"2"
OptimizeReferences=
"2"
ImportLibrary=
"$(OutDir)/gstmixer.lib"
TargetMachine=
"1"
/>
<Tool
Name=
"VCMIDLTool"
/>
<Tool
Name=
"VCPostBuildEventTool"
CommandLine=
"copy /Y $(TargetPath) c:\gstreamer\plugins"
/>
<Tool
Name=
"VCPreBuildEventTool"
/>
<Tool
Name=
"VCPreLinkEventTool"
/>
<Tool
Name=
"VCResourceCompilerTool"
/>
<Tool
Name=
"VCWebServiceProxyGeneratorTool"
/>
<Tool
Name=
"VCXMLDataGeneratorTool"
/>
<Tool
Name=
"VCWebDeploymentTool"
/>
<Tool
Name=
"VCManagedWrapperGeneratorTool"
/>
<Tool
Name=
"VCAuxiliaryManagedWrapperGeneratorTool"
/>
</Configuration>
<Configuration
Name=
"Release|Win32"
OutputDirectory=
"../../../win32/Release"
IntermediateDirectory=
"../../../win32/Release"
ConfigurationType=
"2"
CharacterSet=
"2"
>
<Tool
Name=
"VCCLCompilerTool"
AdditionalIncludeDirectories=
"../../../../gstreamer/win32;../../../../gstreamer;../../../../gstreamer/libs;../../../../glib;../../../../glib/glib;../../../../glib/gmodule;"../../../gst-libs";../../../../popt/include;../../../../libxml2/include/libxml2"
PreprocessorDefinitions=
"WIN32;NDEBUG;GST_DISABLE_GST_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_H;_USE_MATH_DEFINES"
RuntimeLibrary=
"2"
UsePrecompiledHeader=
"0"
WarningLevel=
"3"
Detect64BitPortabilityProblems=
"TRUE"
DebugInformationFormat=
"3"
/>
<Tool
Name=
"VCCustomBuildTool"
/>
<Tool
Name=
"VCLinkerTool"
AdditionalDependencies=
"glib-2.0.lib gmodule-2.0.lib gthread-2.0.lib gobject-2.0.lib libgstreamer.lib gstbytestream.lib iconv.lib intl.lib"
OutputFile=
"$(OutDir)/gstmixer.dll"
LinkIncremental=
"1"
AdditionalLibraryDirectories=
"../../../../gstreamer/win32/Release;../../../../glib/glib;../../../../glib/gmodule;../../../../glib/gthread;../../../../glib/gobject;../../../../gettext/lib;../../../../libiconv/lib"
ModuleDefinitionFile=
"mixer.def"
GenerateDebugInformation=
"TRUE"
SubSystem=
"2"
OptimizeReferences=
"2"
EnableCOMDATFolding=
"2"
ImportLibrary=
"$(OutDir)/gstmixer.lib"
TargetMachine=
"1"
/>
<Tool
Name=
"VCMIDLTool"
/>
<Tool
Name=
"VCPostBuildEventTool"
CommandLine=
"copy /Y $(TargetPath) c:\gstreamer\plugins"
/>
<Tool
Name=
"VCPreBuildEventTool"
/>
<Tool
Name=
"VCPreLinkEventTool"
/>