mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 04:52:28 +00:00
Moved 'flv' from -bad to -good
This commit is contained in:
parent
32ab2bd04e
commit
8c13566624
13 changed files with 0 additions and 4060 deletions
|
@ -272,7 +272,6 @@ AG_GST_CHECK_PLUGIN(deinterlace2)
|
|||
AG_GST_CHECK_PLUGIN(dtmf)
|
||||
AG_GST_CHECK_PLUGIN(dvdspu)
|
||||
AG_GST_CHECK_PLUGIN(festival)
|
||||
AG_GST_CHECK_PLUGIN(flv)
|
||||
AG_GST_CHECK_PLUGIN(freeze)
|
||||
AG_GST_CHECK_PLUGIN(h264parse)
|
||||
AG_GST_CHECK_PLUGIN(librfb)
|
||||
|
@ -1544,7 +1543,6 @@ gst/deinterlace2/Makefile
|
|||
gst/dtmf/Makefile
|
||||
gst/dvdspu/Makefile
|
||||
gst/festival/Makefile
|
||||
gst/flv/Makefile
|
||||
gst/freeze/Makefile
|
||||
gst/h264parse/Makefile
|
||||
gst/librfb/Makefile
|
||||
|
|
|
@ -132,8 +132,6 @@ EXTRA_HFILES = \
|
|||
$(top_srcdir)/gst/dtmf/gstrtpdtmfdepay.h \
|
||||
$(top_srcdir)/gst/dvdspu/gstdvdspu.h \
|
||||
$(top_srcdir)/gst/festival/gstfestival.h \
|
||||
$(top_srcdir)/gst/flv/gstflvdemux.h \
|
||||
$(top_srcdir)/gst/flv/gstflvmux.h \
|
||||
$(top_srcdir)/gst/legacyresample/gstlegacyresample.h \
|
||||
$(top_srcdir)/gst/liveadder/liveadder.h \
|
||||
$(top_srcdir)/gst/mxf/mxfdemux.h \
|
||||
|
|
|
@ -40,8 +40,6 @@
|
|||
<xi:include href="xml/element-dvbsrc.xml" />
|
||||
<xi:include href="xml/element-dvdspu.xml" />
|
||||
<xi:include href="xml/element-festival.xml" />
|
||||
<xi:include href="xml/element-flvdemux.xml" />
|
||||
<xi:include href="xml/element-flvmux.xml" />
|
||||
<xi:include href="xml/element-fpsdisplaysink.xml" />
|
||||
<xi:include href="xml/element-gstrtpbin.xml" />
|
||||
<xi:include href="xml/element-gstrtpclient.xml" />
|
||||
|
@ -119,7 +117,6 @@
|
|||
<xi:include href="xml/plugin-fbdevsink.xml" />
|
||||
<xi:include href="xml/plugin-festival.xml" />
|
||||
<xi:include href="xml/plugin-filter.xml" />
|
||||
<xi:include href="xml/plugin-flv.xml" />
|
||||
<xi:include href="xml/plugin-freeze.xml" />
|
||||
<xi:include href="xml/plugin-gsm.xml" />
|
||||
<xi:include href="xml/plugin-gstinterlace.xml" />
|
||||
|
|
|
@ -356,36 +356,6 @@ FESTIVAL_DEFAULT_SERVER_PORT
|
|||
FESTIVAL_DEFAULT_TEXT_MODE
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-flvdemux</FILE>
|
||||
<TITLE>flvdemux</TITLE>
|
||||
GstFLVDemux
|
||||
<SUBSECTION Standard>
|
||||
GstFLVDemuxClass
|
||||
GstFLVDemuxFlags
|
||||
GST_FLV_DEMUX
|
||||
GST_FLV_DEMUX_CLASS
|
||||
GST_IS_FLV_DEMUX
|
||||
GST_IS_FLV_DEMUX_CLASS
|
||||
GST_TYPE_FLV_DEMUX
|
||||
gst_flv_demux_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-flvmux</FILE>
|
||||
<TITLE>flvmux</TITLE>
|
||||
GstFlvMux
|
||||
<SUBSECTION Standard>
|
||||
GstFlvMuxClass
|
||||
GstFlvMuxFlags
|
||||
GST_FLV_MUX
|
||||
GST_FLV_MUX_CLASS
|
||||
GST_IS_FLV_MUX
|
||||
GST_IS_FLV_MUX_CLASS
|
||||
GST_TYPE_FLV_MUX
|
||||
gst_flv_mux_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-fpsdisplaysink</FILE>
|
||||
<TITLE>fpsdisplaysink</TITLE>
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
<plugin>
|
||||
<name>flv</name>
|
||||
<description>FLV muxing and demuxing plugin</description>
|
||||
<filename>../../gst/flv/.libs/libgstflv.so</filename>
|
||||
<basename>libgstflv.so</basename>
|
||||
<version>0.10.11.1</version>
|
||||
<license>LGPL</license>
|
||||
<source>gst-plugins-bad</source>
|
||||
<package>GStreamer Bad Plug-ins CVS/prerelease</package>
|
||||
<origin>Unknown package origin</origin>
|
||||
<elements>
|
||||
<element>
|
||||
<name>flvdemux</name>
|
||||
<longname>FLV Demuxer</longname>
|
||||
<class>Codec/Demuxer</class>
|
||||
<description>Demux FLV feeds into digital streams</description>
|
||||
<author>Julien Moutte <julien@moutte.net></author>
|
||||
<pads>
|
||||
<caps>
|
||||
<name>video</name>
|
||||
<direction>source</direction>
|
||||
<presence>sometimes</presence>
|
||||
<details>ANY</details>
|
||||
</caps>
|
||||
<caps>
|
||||
<name>audio</name>
|
||||
<direction>source</direction>
|
||||
<presence>sometimes</presence>
|
||||
<details>ANY</details>
|
||||
</caps>
|
||||
<caps>
|
||||
<name>sink</name>
|
||||
<direction>sink</direction>
|
||||
<presence>always</presence>
|
||||
<details>video/x-flv</details>
|
||||
</caps>
|
||||
</pads>
|
||||
</element>
|
||||
<element>
|
||||
<name>flvmux</name>
|
||||
<longname>FLV muxer</longname>
|
||||
<class>Codec/Muxer</class>
|
||||
<description>Muxes video/audio streams into a FLV stream</description>
|
||||
<author>Sebastian Dröge <sebastian.droege@collabora.co.uk></author>
|
||||
<pads>
|
||||
<caps>
|
||||
<name>src</name>
|
||||
<direction>source</direction>
|
||||
<presence>always</presence>
|
||||
<details>video/x-flv</details>
|
||||
</caps>
|
||||
<caps>
|
||||
<name>audio</name>
|
||||
<direction>sink</direction>
|
||||
<presence>request</presence>
|
||||
<details>audio/x-adpcm, layout=(string)swf, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/mpeg, mpegversion=(int)1, layer=(int)3, channels=(int){ 1, 2 }, rate=(int){ 5512, 8000, 11025, 22050, 44100 }; audio/mpeg, mpegversion=(int)4; audio/x-nellymoser, channels=(int){ 1, 2 }, rate=(int){ 5512, 8000, 11025, 16000, 22050, 44100 }; audio/x-raw-int, endianness=(int)1234, channels=(int){ 1, 2 }, width=(int)8, depth=(int)8, rate=(int){ 5512, 11025, 22050, 44100 }, signed=(boolean)false; audio/x-raw-int, endianness=(int)1234, channels=(int){ 1, 2 }, width=(int)16, depth=(int)16, rate=(int){ 5512, 11025, 22050, 44100 }, signed=(boolean)true; audio/x-alaw, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-mulaw, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-speex, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }</details>
|
||||
</caps>
|
||||
<caps>
|
||||
<name>video</name>
|
||||
<direction>sink</direction>
|
||||
<presence>request</presence>
|
||||
<details>video/x-flash-video; video/x-flash-screen; video/x-vp6-flash; video/x-vp6-alpha; video/x-h264</details>
|
||||
</caps>
|
||||
</pads>
|
||||
</element>
|
||||
</elements>
|
||||
</plugin>
|
|
@ -1,40 +0,0 @@
|
|||
<plugin>
|
||||
<name>flvdemux</name>
|
||||
<description>Element demuxing FLV stream</description>
|
||||
<filename>../../gst/flv/.libs/libgstflvdemux.so</filename>
|
||||
<basename>libgstflvdemux.so</basename>
|
||||
<version>0.10.8</version>
|
||||
<license>LGPL</license>
|
||||
<source>gst-plugins-bad</source>
|
||||
<package>GStreamer Bad Plug-ins source release</package>
|
||||
<origin>Unknown package origin</origin>
|
||||
<elements>
|
||||
<element>
|
||||
<name>flvdemux</name>
|
||||
<longname>FLV Demuxer</longname>
|
||||
<class>Codec/Demuxer</class>
|
||||
<description>Demux FLV feeds into digital streams</description>
|
||||
<author>Julien Moutte <julien@moutte.net></author>
|
||||
<pads>
|
||||
<caps>
|
||||
<name>sink</name>
|
||||
<direction>sink</direction>
|
||||
<presence>always</presence>
|
||||
<details>video/x-flv</details>
|
||||
</caps>
|
||||
<caps>
|
||||
<name>audio</name>
|
||||
<direction>source</direction>
|
||||
<presence>sometimes</presence>
|
||||
<details>ANY</details>
|
||||
</caps>
|
||||
<caps>
|
||||
<name>video</name>
|
||||
<direction>source</direction>
|
||||
<presence>sometimes</presence>
|
||||
<details>ANY</details>
|
||||
</caps>
|
||||
</pads>
|
||||
</element>
|
||||
</elements>
|
||||
</plugin>
|
|
@ -1,9 +0,0 @@
|
|||
plugin_LTLIBRARIES = libgstflv.la
|
||||
|
||||
libgstflv_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS)
|
||||
libgstflv_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS)
|
||||
libgstflv_la_LDFLAGS = ${GST_PLUGIN_LDFLAGS}
|
||||
libgstflv_la_SOURCES = gstflvdemux.c gstflvparse.c gstflvmux.c
|
||||
libgstflv_la_LIBTOOLFLAGS = --tag=disable-static
|
||||
|
||||
noinst_HEADERS = gstflvdemux.h gstflvparse.h gstflvmux.h
|
File diff suppressed because it is too large
Load diff
|
@ -1,130 +0,0 @@
|
|||
/* GStreamer
|
||||
* Copyright (C) <2007> Julien Moutte <julien@moutte.net>
|
||||
*
|
||||
* 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 __FLV_DEMUX_H__
|
||||
#define __FLV_DEMUX_H__
|
||||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/base/gstadapter.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#define GST_TYPE_FLV_DEMUX \
|
||||
(gst_flv_demux_get_type())
|
||||
#define GST_FLV_DEMUX(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FLV_DEMUX,GstFLVDemux))
|
||||
#define GST_FLV_DEMUX_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FLV_DEMUX,GstFLVDemuxClass))
|
||||
#define GST_IS_FLV_DEMUX(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FLV_DEMUX))
|
||||
#define GST_IS_FLV_DEMUX_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FLV_DEMUX))
|
||||
typedef struct _GstFLVDemux GstFLVDemux;
|
||||
typedef struct _GstFLVDemuxClass GstFLVDemuxClass;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
FLV_STATE_HEADER,
|
||||
FLV_STATE_TAG_TYPE,
|
||||
FLV_STATE_TAG_VIDEO,
|
||||
FLV_STATE_TAG_AUDIO,
|
||||
FLV_STATE_TAG_SCRIPT,
|
||||
FLV_STATE_DONE,
|
||||
FLV_STATE_NONE
|
||||
} GstFLVDemuxState;
|
||||
|
||||
struct _GstFLVDemux
|
||||
{
|
||||
GstElement element;
|
||||
|
||||
GstPad *sinkpad;
|
||||
|
||||
GstPad *audio_pad;
|
||||
GstPad *video_pad;
|
||||
|
||||
/* <private> */
|
||||
|
||||
GstIndex *index;
|
||||
gint index_id;
|
||||
gboolean own_index;
|
||||
|
||||
GArray * times;
|
||||
GArray * filepositions;
|
||||
|
||||
GstAdapter *adapter;
|
||||
|
||||
GstSegment segment;
|
||||
|
||||
GstEvent *close_seg_event;
|
||||
GstEvent *new_seg_event;
|
||||
|
||||
GstTagList *taglist;
|
||||
|
||||
GstFLVDemuxState state;
|
||||
|
||||
guint64 offset;
|
||||
guint64 cur_tag_offset;
|
||||
GstClockTime duration;
|
||||
guint64 tag_size;
|
||||
guint64 tag_data_size;
|
||||
|
||||
/* Audio infos */
|
||||
guint16 rate;
|
||||
guint16 channels;
|
||||
guint16 width;
|
||||
guint16 audio_codec_tag;
|
||||
guint64 audio_offset;
|
||||
gboolean audio_need_discont;
|
||||
gboolean audio_need_segment;
|
||||
gboolean audio_linked;
|
||||
GstBuffer * audio_codec_data;
|
||||
|
||||
/* Video infos */
|
||||
guint32 w;
|
||||
guint32 h;
|
||||
guint32 par_x;
|
||||
guint32 par_y;
|
||||
guint16 video_codec_tag;
|
||||
guint64 video_offset;
|
||||
gboolean video_need_discont;
|
||||
gboolean video_need_segment;
|
||||
gboolean video_linked;
|
||||
gboolean got_par;
|
||||
GstBuffer * video_codec_data;
|
||||
|
||||
gboolean random_access;
|
||||
gboolean need_header;
|
||||
gboolean has_audio;
|
||||
gboolean has_video;
|
||||
gboolean push_tags;
|
||||
gboolean strict;
|
||||
gboolean flushing;
|
||||
};
|
||||
|
||||
struct _GstFLVDemuxClass
|
||||
{
|
||||
GstElementClass parent_class;
|
||||
};
|
||||
|
||||
GType gst_flv_demux_get_type (void);
|
||||
|
||||
gboolean gst_flv_demux_query (GstPad * pad, GstQuery * query);
|
||||
gboolean gst_flv_demux_src_event (GstPad * pad, GstEvent * event);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __FLV_DEMUX_H__ */
|
1040
gst/flv/gstflvmux.c
1040
gst/flv/gstflvmux.c
File diff suppressed because it is too large
Load diff
|
@ -1,89 +0,0 @@
|
|||
/* GStreamer
|
||||
*
|
||||
* Copyright (c) 2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
*
|
||||
* 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_FLV_MUX_H__
|
||||
#define __GST_FLV_MUX_H__
|
||||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/base/gstcollectpads.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GST_TYPE_FLV_MUX \
|
||||
(gst_flv_mux_get_type ())
|
||||
#define GST_FLV_MUX(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_FLV_MUX, GstFlvMux))
|
||||
#define GST_FLV_MUX_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_FLV_MUX, GstFlvMuxClass))
|
||||
#define GST_IS_FLV_MUX(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_FLV_MUX))
|
||||
#define GST_IS_FLV_MUX_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_FLV_MUX))
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GstCollectData collect;
|
||||
|
||||
gboolean video;
|
||||
|
||||
guint audio_codec;
|
||||
guint rate;
|
||||
guint width;
|
||||
guint channels;
|
||||
GstBuffer *audio_codec_data;
|
||||
|
||||
guint video_codec;
|
||||
GstBuffer *video_codec_data;
|
||||
|
||||
gboolean sent_codec_data;
|
||||
GstClockTime last_timestamp;
|
||||
} GstFlvPad;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GST_FLV_MUX_STATE_HEADER,
|
||||
GST_FLV_MUX_STATE_DATA
|
||||
} GstFlvMuxState;
|
||||
|
||||
typedef struct _GstFlvMux {
|
||||
GstElement element;
|
||||
|
||||
GstPad *srcpad;
|
||||
GstCollectPads *collect;
|
||||
|
||||
/* <private> */
|
||||
GstPadEventFunction collect_event;
|
||||
|
||||
GstFlvMuxState state;
|
||||
gboolean have_audio;
|
||||
gboolean have_video;
|
||||
|
||||
GstTagList *tags;
|
||||
} GstFlvMux;
|
||||
|
||||
typedef struct _GstFlvMuxClass {
|
||||
GstElementClass parent;
|
||||
} GstFlvMuxClass;
|
||||
|
||||
GType gst_flv_mux_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_FLV_MUX_H__ */
|
File diff suppressed because it is too large
Load diff
|
@ -1,42 +0,0 @@
|
|||
/* GStreamer
|
||||
* Copyright (C) <2007> Julien Moutte <julien@moutte.net>
|
||||
*
|
||||
* 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 __FLV_PARSE_H__
|
||||
#define __FLV_PARSE_H__
|
||||
|
||||
#include "gstflvdemux.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
GstFlowReturn gst_flv_parse_tag_script (GstFLVDemux * demux,
|
||||
GstBuffer *buffer);
|
||||
|
||||
GstFlowReturn gst_flv_parse_tag_audio (GstFLVDemux * demux, GstBuffer *buffer);
|
||||
|
||||
GstFlowReturn gst_flv_parse_tag_video (GstFLVDemux * demux, GstBuffer *buffer);
|
||||
|
||||
GstFlowReturn gst_flv_parse_tag_type (GstFLVDemux * demux, GstBuffer *buffer);
|
||||
|
||||
GstFlowReturn gst_flv_parse_header (GstFLVDemux * demux, GstBuffer *buffer);
|
||||
|
||||
GstClockTime gst_flv_parse_tag_timestamp (GstFLVDemux *demux, GstBuffer *buffer, size_t *tag_data_size);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __FLV_PARSE_H__ */
|
Loading…
Reference in a new issue