Commit new dc1394src element.

Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dc1394/gstdc1394.c: (gst_dc1394_base_init),
(gst_dc1394_class_init), (gst_dc1394_init),
(gst_dc1394_src_fixate), (gst_dc1394_set_property),
(gst_dc1394_get_property), (gst_dc1394_getcaps),
(gst_dc1394_setcaps), (gst_dc1394_get_times), (gst_dc1394_create),
(gst_dc1394_parse_caps), (gst_dc1394_change_state),
(gst_dc1394_caps_set_format_vmode_caps),
(gst_dc1394_set_caps_color), (gst_dc1394_set_caps_framesize),
(gst_dc1394_set_caps_framesize_range),
(gst_dc1394_caps_set_framerate_list),
(gst_dc1394_framerate_const_to_frac),
(gst_dc1394_get_all_dc1394_caps), (gst_dc1394_get_cam_caps),
(gst_dc1394_framerate_frac_to_const),
(gst_dc1394_open_cam_with_best_caps),
(gst_dc1394_change_camera_transmission), (plugin_init):
* ext/dc1394/gstdc1394.h:
Commit new dc1394src element.
Patch By: Eric Jonas < jonas at mit dot edu >
Close: #387251
This commit is contained in:
Eric Jonas 2007-06-29 13:03:27 +00:00 committed by Jan Schmidt
parent eff1e94a26
commit 96a1ebf963
6 changed files with 1388 additions and 0 deletions

View file

@ -1,3 +1,28 @@
2007-06-29 Jan Schmidt <thaytan@mad.scientist.com>
* configure.ac:
* ext/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dc1394/gstdc1394.c: (gst_dc1394_base_init),
(gst_dc1394_class_init), (gst_dc1394_init),
(gst_dc1394_src_fixate), (gst_dc1394_set_property),
(gst_dc1394_get_property), (gst_dc1394_getcaps),
(gst_dc1394_setcaps), (gst_dc1394_get_times), (gst_dc1394_create),
(gst_dc1394_parse_caps), (gst_dc1394_change_state),
(gst_dc1394_caps_set_format_vmode_caps),
(gst_dc1394_set_caps_color), (gst_dc1394_set_caps_framesize),
(gst_dc1394_set_caps_framesize_range),
(gst_dc1394_caps_set_framerate_list),
(gst_dc1394_framerate_const_to_frac),
(gst_dc1394_get_all_dc1394_caps), (gst_dc1394_get_cam_caps),
(gst_dc1394_framerate_frac_to_const),
(gst_dc1394_open_cam_with_best_caps),
(gst_dc1394_change_camera_transmission), (plugin_init):
* ext/dc1394/gstdc1394.h:
Commit new dc1394src element.
Patch By: Eric Jonas < jonas at mit dot edu >
Close: #387251
2007-06-28 Wim Taymans <wim@fluendo.com>
* gst/videosignal/gstvideodetect.c: (gst_video_detect_class_init):

View file

@ -376,6 +376,19 @@ AG_GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
AC_SUBST(CDAUDIO_LIBS)
])
dnl *** dc1394 ***
translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0-rc5, HAVE_DC1394="yes", [
HAVE_DC1394="no"
AC_MSG_RESULT(no)
])
AC_SUBST(LIBDC1394_CFLAGS)
AC_SUBST(LIBDC1394_LIBS)
])
dnl **** DirectFB ****
translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
@ -1008,6 +1021,7 @@ ext/amrwb/Makefile
ext/alsaspdif/Makefile
ext/bz2/Makefile
ext/cdaudio/Makefile
ext/dc1394/Makefile
ext/directfb/Makefile
ext/divx/Makefile
ext/dts/Makefile

View file

@ -46,6 +46,12 @@ else
CDAUDIO_DIR=
endif
if USE_DC1394
DC1394_DIR=dc1394
else
DC1394_DIR=
endif
# if USE_DIRAC
# DIRAC_DIR=dirac
# else
@ -265,6 +271,7 @@ SUBDIRS=\
$(AUDIORESAMPLE_DIR) \
$(BZ2_DIR) \
$(CDAUDIO_DIR) \
$(DC1394_DIR) \
$(DIRAC_DIR) \
$(DIRECTFB_DIR) \
$(DIVX_DIR) \
@ -306,6 +313,7 @@ DIST_SUBDIRS = \
amrwb \
bz2 \
cdaudio \
dc1394 \
directfb \
faac \
faad \

16
ext/dc1394/Makefile.am Normal file
View file

@ -0,0 +1,16 @@
plugindir = $(libdir)/gstreamer-@GST_MAJORMINOR@
plugin_LTLIBRARIES = libgstdc1394.la
libgstdc1394_la_SOURCES = gstdc1394.c
libgstdc1394_la_CFLAGS = $(GST_CFLAGS) \
$(LIBDC1394_CFLAGS)
libgstdc1394_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstdc1394_la_LIBADD = $(GST_BASE_LIBS) \
$(LIBDC1394_LIBS)
noinst_HEADERS = gstdc1394.h

1246
ext/dc1394/gstdc1394.c Normal file

File diff suppressed because it is too large Load diff

79
ext/dc1394/gstdc1394.h Normal file
View file

@ -0,0 +1,79 @@
/* GStreamer
* Copyright (C) <2006> Eric Jonas <jonas@mit.edu>
* Copyright (C) <2006> Antoine Tremblay <hexa00@gmail.com>
*
* 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_DC1394_H__
#define __GST_DC1394_H__
#include <gst/gst.h>
#include <gst/base/gstpushsrc.h>
#include <dc1394/control.h>
G_BEGIN_DECLS
#define GST_TYPE_DC1394 \
(gst_dc1394_get_type())
#define GST_DC1394(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DC1394,GstDc1394))
#define GST_DC1394_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DC1394,GstDc1394))
#define GST_IS_DC1394(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DC1394))
#define GST_IS_DC1394_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DC1394))
typedef struct _GstDc1394 GstDc1394;
typedef struct _GstDc1394Class GstDc1394Class;
struct _GstDc1394 {
GstPushSrc element;
/* video state */
gint width;
gint height;
gint vmode;
gint bpp;
gint rate_numerator;
gint rate_denominator;
/* private */
gint64 timestamp_offset; /* base offset */
GstClockTime running_time; /* total running time */
gint64 n_frames; /* total frames sent */
gint64 segment_start_frame;
gint64 segment_end_frame;
gboolean segment;
gint camnum;
gint bufsize;
dc1394camera_t * camera;
GstCaps *caps;
};
struct _GstDc1394Class {
GstPushSrcClass parent_class;
};
GType gst_dc1394_get_type (void);
G_END_DECLS
#endif /* __GST_DC1394_H__ */