videodrop: drop videodrop
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Tue, 12 Jun 2012 20:20:38 +0000 (21:20 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Tue, 12 Jun 2012 20:21:01 +0000 (21:21 +0100)
It was never even ported to 0.10, and videorate does its job now.

gst/videodrop/Makefile.am [deleted file]
gst/videodrop/gstvideodrop.c [deleted file]
gst/videodrop/gstvideodrop.h [deleted file]
gst/videodrop/videodrop.vcproj [deleted file]

diff --git a/gst/videodrop/Makefile.am b/gst/videodrop/Makefile.am
deleted file mode 100644 (file)
index d5bb860..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-plugin_LTLIBRARIES = libgstvideodrop.la
-
-libgstvideodrop_la_SOURCES = \
-                       gstvideodrop.c
-libgstvideodrop_la_CFLAGS = $(GST_CFLAGS)
-libgstvideodrop_la_LIBADD =
-libgstvideodrop_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstvideodrop_la_LIBTOOLFLAGS = --tag=disable-static
-
-noinst_HEADERS = gstvideodrop.h
diff --git a/gst/videodrop/gstvideodrop.c b/gst/videodrop/gstvideodrop.c
deleted file mode 100644 (file)
index 9a3c2ce..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gstvideodrop.h>
-#include <gst/video/video.h>
-
-/* GstVideodrop signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0,
-  ARG_SPEED
-      /* FILL ME */
-};
-
-static GstStaticPadTemplate gst_videodrop_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("{ YUY2, I420, YV12, YUYV, UYVY }")
-    )
-    );
-
-static GstStaticPadTemplate gst_videodrop_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("{ YUY2, I420, YV12, YUYV, UYVY }")
-    )
-    );
-
-static void gst_videodrop_base_init (gpointer g_class);
-static void gst_videodrop_class_init (GstVideodropClass * klass);
-static void gst_videodrop_init (GstVideodrop * videodrop);
-static void gst_videodrop_chain (GstPad * pad, GstData * _data);
-
-static void gst_videodrop_set_property (GObject * object,
-    guint prop_id, const GValue * value, GParamSpec * pspec);
-static void gst_videodrop_get_property (GObject * object,
-    guint prop_id, GValue * value, GParamSpec * pspec);
-
-static GstStateChangeReturn gst_videodrop_change_state (GstElement * element,
-    GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-/*static guint gst_videodrop_signals[LAST_SIGNAL] = { 0 }; */
-
-GType
-gst_videodrop_get_type (void)
-{
-  static GType videodrop_type = 0;
-
-  if (!videodrop_type) {
-    static const GTypeInfo videodrop_info = {
-      sizeof (GstVideodropClass),
-      gst_videodrop_base_init,
-      NULL,
-      (GClassInitFunc) gst_videodrop_class_init,
-      NULL,
-      NULL,
-      sizeof (GstVideodrop),
-      0,
-      (GInstanceInitFunc) gst_videodrop_init,
-    };
-
-    videodrop_type = g_type_register_static (GST_TYPE_ELEMENT,
-        "GstVideodrop", &videodrop_info, 0);
-  }
-
-  return videodrop_type;
-}
-
-static void
-gst_videodrop_base_init (gpointer g_class)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
-  gst_element_class_set_details_simple (element_class, "Frame dropper",
-      "Filter/Effect/Video",
-      "Re-FPS'es video by dropping frames",
-      "Ronald Bultje <rbultje@ronald.bitfreak.net>");
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_videodrop_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_videodrop_src_template));
-}
-
-static void
-gst_videodrop_class_init (GstVideodropClass * klass)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  parent_class = g_type_class_peek_parent (klass);
-
-  g_object_class_install_property (object_class, ARG_SPEED,
-      g_param_spec_float ("speed", "Speed",
-          "Output speed (relative to input)", 0.01, 100, 1,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-  object_class->set_property = gst_videodrop_set_property;
-  object_class->get_property = gst_videodrop_get_property;
-
-  element_class->change_state = gst_videodrop_change_state;
-}
-
-static GstCaps *
-gst_videodrop_getcaps (GstPad * pad)
-{
-  GstVideodrop *videodrop;
-  GstPad *otherpad;
-  GstCaps *caps, *copy, *copy2 = NULL;
-  int i;
-  gdouble otherfps;
-  GstStructure *structure;
-  gboolean negotiated;
-
-  videodrop = GST_VIDEODROP (gst_pad_get_parent (pad));
-
-  otherpad = (pad == videodrop->srcpad) ? videodrop->sinkpad :
-      videodrop->srcpad;
-  negotiated = gst_pad_is_negotiated (otherpad);
-  otherfps = (pad == videodrop->srcpad) ? videodrop->from_fps :
-      videodrop->to_fps;
-
-  caps = gst_pad_get_allowed_caps (otherpad);
-  copy = gst_caps_copy (caps);
-  if (negotiated) {
-    copy2 = gst_caps_copy (caps);
-  }
-  for (i = 0; i < gst_caps_get_size (caps); i++) {
-    structure = gst_caps_get_structure (caps, i);
-
-    gst_structure_set (structure,
-        "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE, NULL);
-  }
-  if ((negotiated) && (videodrop->speed != 1.0)) {
-    for (i = 0; i < gst_caps_get_size (copy2); i++) {
-      structure = gst_caps_get_structure (copy2, i);
-
-      gst_structure_set (structure,
-          "framerate", G_TYPE_DOUBLE, otherfps * videodrop->speed, NULL);
-    }
-    gst_caps_append (copy2, copy);
-    copy = copy2;
-  }
-  gst_caps_append (copy, caps);
-
-  return copy;
-}
-
-static GstPadLinkReturn
-gst_videodrop_link (GstPad * pad, const GstCaps * caps)
-{
-  GstVideodrop *videodrop;
-  GstStructure *structure;
-  gboolean ret;
-  double fps;
-  GstPad *otherpad;
-
-  videodrop = GST_VIDEODROP (gst_pad_get_parent (pad));
-
-  otherpad = (pad == videodrop->srcpad) ? videodrop->sinkpad :
-      videodrop->srcpad;
-
-  structure = gst_caps_get_structure (caps, 0);
-  ret = gst_structure_get_double (structure, "framerate", &fps);
-  if (!ret)
-    return GST_PAD_LINK_REFUSED;
-
-  if (pad == videodrop->srcpad) {
-    videodrop->to_fps = fps;
-  } else {
-    videodrop->from_fps = fps;
-  }
-
-  if (gst_pad_is_negotiated (otherpad)) {
-    /* 
-     * Ensure that the other side talks the format we're trying to set
-     */
-    GstCaps *newcaps = gst_caps_copy (caps);
-
-    if (pad == videodrop->srcpad) {
-      gst_caps_set_simple (newcaps,
-          "framerate", G_TYPE_DOUBLE, videodrop->from_fps, NULL);
-    } else {
-      gst_caps_set_simple (newcaps,
-          "framerate", G_TYPE_DOUBLE, videodrop->to_fps, NULL);
-    }
-    ret = gst_pad_try_set_caps (otherpad, newcaps);
-    if (GST_PAD_LINK_FAILED (ret)) {
-      return GST_PAD_LINK_REFUSED;
-    }
-  }
-
-  return GST_PAD_LINK_OK;
-}
-
-static void
-gst_videodrop_init (GstVideodrop * videodrop)
-{
-  GST_OBJECT_FLAG_SET (videodrop, GST_ELEMENT_EVENT_AWARE);
-
-  GST_DEBUG ("gst_videodrop_init");
-  videodrop->sinkpad =
-      gst_pad_new_from_static_template (&gst_videodrop_sink_template, "sink");
-  gst_element_add_pad (GST_ELEMENT (videodrop), videodrop->sinkpad);
-  gst_pad_set_chain_function (videodrop->sinkpad, gst_videodrop_chain);
-  gst_pad_set_getcaps_function (videodrop->sinkpad, gst_videodrop_getcaps);
-  gst_pad_set_link_function (videodrop->sinkpad, gst_videodrop_link);
-
-  videodrop->srcpad =
-      gst_pad_new_from_static_template (&gst_videodrop_src_template, "src");
-  gst_element_add_pad (GST_ELEMENT (videodrop), videodrop->srcpad);
-  gst_pad_set_getcaps_function (videodrop->srcpad, gst_videodrop_getcaps);
-  gst_pad_set_link_function (videodrop->srcpad, gst_videodrop_link);
-
-  videodrop->inited = FALSE;
-  videodrop->total = videodrop->pass = 0;
-  videodrop->speed = 1.;
-  videodrop->time_adjust = 0;
-}
-
-static void
-gst_videodrop_chain (GstPad * pad, GstData * data)
-{
-  GstVideodrop *videodrop = GST_VIDEODROP (gst_pad_get_parent (pad));
-  GstBuffer *buf;
-
-  if (GST_IS_EVENT (data)) {
-    GstEvent *event = GST_EVENT (data);
-
-    if (GST_EVENT_TYPE (event) == GST_EVENT_DISCONTINUOUS) {
-      /* since we rely on timestamps of the source, we need to handle
-       * changes in time carefully. */
-      gint64 time;
-
-      if (gst_event_discont_get_value (event, GST_FORMAT_TIME, &time)) {
-        videodrop->total = videodrop->pass = 0;
-        videodrop->time_adjust = time;
-      } else {
-        GST_ELEMENT_ERROR (videodrop, STREAM, TOO_LAZY, (NULL),
-            ("Received discont, but no time information"));
-        gst_event_unref (event);
-        return;
-      }
-      /* FIXME: increase timestamp / speed */
-    }
-
-    gst_pad_event_default (pad, event);
-    return;
-  }
-
-  buf = GST_BUFFER (data);
-  videodrop->total++;
-  GST_DEBUG ("Received buffer at %u:%02u:%02u:%09u, fps=%lf, pass=%"
-      G_GUINT64_FORMAT " of " G_GUINT64_FORMAT ", speed=%lf",
-      (guint) (GST_BUFFER_TIMESTAMP (buf) / (GST_SECOND * 60 * 60)),
-      (guint) ((GST_BUFFER_TIMESTAMP (buf) / (GST_SECOND * 60)) % 60),
-      (guint) ((GST_BUFFER_TIMESTAMP (buf) / GST_SECOND) % 60),
-      (guint) (GST_BUFFER_TIMESTAMP (buf) % GST_SECOND),
-      videodrop->to_fps, videodrop->total, videodrop->pass, videodrop->speed);
-  while (((GST_BUFFER_TIMESTAMP (buf) - videodrop->time_adjust) /
-          videodrop->speed * videodrop->to_fps / GST_SECOND) >=
-      videodrop->pass) {
-    /* since we write to the struct (time/duration), we need a new struct,
-     * but we don't want to copy around data - a subbuffer is the easiest
-     * way to accomplish that... */
-    GstBuffer *copy = gst_buffer_create_sub (buf, 0, GST_BUFFER_SIZE (buf));
-
-    /* adjust timestamp/duration and push forward */
-    GST_BUFFER_TIMESTAMP (copy) = (videodrop->time_adjust / videodrop->speed) +
-        GST_SECOND * videodrop->pass / videodrop->to_fps;
-    GST_BUFFER_DURATION (copy) = GST_SECOND / videodrop->to_fps;
-    GST_DEBUG ("Sending out buffer from out %u:%02u:%02u:%09u",
-        (guint) (GST_BUFFER_TIMESTAMP (copy) / (GST_SECOND * 60 * 60)),
-        (guint) ((GST_BUFFER_TIMESTAMP (copy) / (GST_SECOND * 60)) % 60),
-        (guint) ((GST_BUFFER_TIMESTAMP (copy) / GST_SECOND) % 60),
-        (guint) (GST_BUFFER_TIMESTAMP (copy) % GST_SECOND));
-    gst_pad_push (videodrop->srcpad, GST_DATA (copy));
-
-    videodrop->pass++;
-  }
-
-  gst_buffer_unref (buf);
-}
-
-static void
-gst_videodrop_set_property (GObject * object,
-    guint prop_id, const GValue * value, GParamSpec * pspec)
-{
-  GstVideodrop *videodrop = GST_VIDEODROP (object);
-
-  switch (prop_id) {
-    case ARG_SPEED:
-      videodrop->speed = g_value_get_float (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_videodrop_get_property (GObject * object,
-    guint prop_id, GValue * value, GParamSpec * pspec)
-{
-  GstVideodrop *videodrop = GST_VIDEODROP (object);
-
-  switch (prop_id) {
-    case ARG_SPEED:
-      g_value_set_float (value, videodrop->speed);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static GstStateChangeReturn
-gst_videodrop_change_state (GstElement * element, GstStateChange transition)
-{
-  GstVideodrop *videodrop = GST_VIDEODROP (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      videodrop->inited = FALSE;
-      videodrop->time_adjust = 0;
-      videodrop->total = videodrop->pass = 0;
-      break;
-    default:
-      break;
-  }
-
-  if (parent_class->change_state)
-    return parent_class->change_state (element, transition);
-
-  return GST_STATE_CHANGE_SUCCESS;
-}
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "videodrop", GST_RANK_NONE,
-      GST_TYPE_VIDEODROP);
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-    GST_VERSION_MINOR,
-    videodrop,
-    "Re-FPS'es video",
-    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/gst/videodrop/gstvideodrop.h b/gst/videodrop/gstvideodrop.h
deleted file mode 100644 (file)
index fac07a6..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_VIDEODROP_H__
-#define __GST_VIDEODROP_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_VIDEODROP \
-  (gst_videodrop_get_type())
-#define GST_VIDEODROP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VIDEODROP,GstVideodrop))
-#define GST_VIDEODROP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VIDEODROP,GstVideodropClass))
-#define GST_IS_VIDEODROP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEODROP))
-#define GST_IS_VIDEODROP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEODROP))
-
-typedef struct _GstVideodrop GstVideodrop;
-typedef struct _GstVideodropClass GstVideodropClass;
-
-struct _GstVideodrop {
-  GstElement element;
-
-  GstPad *sinkpad, *srcpad;
-
-  /* video state */
-  gboolean inited;
-  gfloat from_fps,
-         to_fps;
-  gfloat speed;
-  guint64 pass, total, time_adjust;
-};
-
-struct _GstVideodropClass {
-  GstElementClass parent_class;
-};
-
-GType gst_videodrop_get_type(void);
-
-G_END_DECLS
-
-#endif /* __GST_VIDEODROP_H__ */
diff --git a/gst/videodrop/videodrop.vcproj b/gst/videodrop/videodrop.vcproj
deleted file mode 100644 (file)
index 7e73870..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.10"
-       Name="videodrop"
-       ProjectGUID="{979C216F-0ACF-4956-AE00-055A42D678D6}"
-       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;&quot;../../gst-libs&quot;;../../../popt/include;../../../libxml2/include/libxml2"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;videodrop_EXPORTS;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)/gstvideodrop.dll"
-                               LinkIncremental="2"
-                               AdditionalLibraryDirectories="../../../gstreamer/win32/Debug;../../../glib/glib;../../../glib/gmodule;../../../glib/gthread;../../../glib/gobject;../../../gettext/lib;../../../libiconv/lib"
-                               ModuleDefinitionFile=""
-                               GenerateDebugInformation="TRUE"
-                               ProgramDatabaseFile="$(OutDir)/videodrop.pdb"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               ImportLibrary="$(OutDir)/gstvideodrop.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;&quot;../../gst-libs&quot;;../../../popt/include;../../../libxml2/include/libxml2"
-                               PreprocessorDefinitions="WIN32;NDEBUG;GST_DISABLE_GST_DEBUG;_WINDOWS;_USRDLL;videodrop_EXPORTS;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)/gstvideodrop.dll"
-                               LinkIncremental="1"
-                               AdditionalLibraryDirectories="../../../gstreamer/win32/Release;../../../glib/glib;../../../glib/gmodule;../../../glib/gthread;../../../glib/gobject;../../../gettext/lib;../../../libiconv/lib"
-                               ModuleDefinitionFile=""
-                               GenerateDebugInformation="TRUE"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               ImportLibrary="$(OutDir)/gstvideodrop.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>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-                       <File
-                               RelativePath=".\gstvideodrop.c">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl;inc;xsd"
-                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-                       <File
-                               RelativePath=".\gstvideodrop.h">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>