diff options
author | Philippe Kalaf <philippe.kalaf@collabora.co.uk> | 2005-07-01 20:56:07 +0000 |
---|---|---|
committer | Philippe Kalaf <philippe.kalaf@collabora.co.uk> | 2005-07-01 20:56:07 +0000 |
commit | c88ac33128a2026da0e9f94c930360805c0f67e0 (patch) | |
tree | e5b780faffc508ae99b239454ad4c36f1521e987 /gst/udp/gstdynudpsink.h | |
parent | 0f9c0996fc88f140f4c9292abfe1c521a1c9fad6 (diff) |
gst/udp/: (new)
Original commit message from CVS:
* gst/udp/Makefile.am:
* gst/udp/gstudp.c:
* gst/udp/gstdynudpsink.c: (new)
* gst/udp/gstdynudpsink.h: (new)
Added new element (udpdynsink) that receives GstNetBuffers and sends the
udp packets to the source given in the buffer. It's used by rtpsession
element for now.
* gst/udp/gstudpsrc.c:
Fixed memory leak.
Diffstat (limited to 'gst/udp/gstdynudpsink.h')
-rw-r--r-- | gst/udp/gstdynudpsink.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/gst/udp/gstdynudpsink.h b/gst/udp/gstdynudpsink.h new file mode 100644 index 00000000..9ade7275 --- /dev/null +++ b/gst/udp/gstdynudpsink.h @@ -0,0 +1,76 @@ +/* GStreamer + * Copyright (C) <2005> Philippe Khalaf <burger@speedy.org> + * + * 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_DYNUDPSINK_H__ +#define __GST_DYNUDPSINK_H__ + +#include <gst/gst.h> +#include <gst/base/gstbasesink.h> + +G_BEGIN_DECLS + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <errno.h> +#include <string.h> +#include <sys/time.h> +#include <sys/types.h> +#include <netinet/in.h> +#include <netdb.h> +#include <sys/socket.h> +#include <sys/wait.h> +#include <fcntl.h> +#include <arpa/inet.h> +#include "gstudp.h" + +#define GST_TYPE_DYNUDPSINK (gst_dynudpsink_get_type()) +#define GST_DYNUDPSINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DYNUDPSINK,GstDynUDPSink)) +#define GST_DYNUDPSINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DYNUDPSINK,GstDynUDPSink)) +#define GST_IS_DYNUDPSINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DYNUDPSINK)) +#define GST_IS_DYNUDPSINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DYNUDPSINK)) + +typedef struct _GstDynUDPSink GstDynUDPSink; +typedef struct _GstDynUDPSinkClass GstDynUDPSinkClass; + + +/* sends udp packets to host/port pairs contained in the GstNetBuffer received. + */ +struct _GstDynUDPSink { + GstBaseSink parent; + + int sock; +}; + +struct _GstDynUDPSinkClass { + GstBaseSinkClass parent_class; + + /* element methods */ + GValueArray* (*get_stats) (GstDynUDPSink *sink, const gchar *host, gint port); + + /* signals */ +}; + +GType gst_dynudpsink_get_type(void); + +GValueArray* gst_dynudpsink_get_stats (GstDynUDPSink *sink, const gchar *host, gint port); + +G_END_DECLS + +#endif /* __GST_DYNUDPSINK_H__ */ |