gst_plugins_good/gst/qtmux/gstqtmux.h
branchRCL_3
changeset 30 7e817e7e631c
parent 29 567bb019e3e3
--- a/gst_plugins_good/gst/qtmux/gstqtmux.h	Tue Aug 31 15:30:33 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/* Quicktime muxer plugin for GStreamer
- * Copyright (C) 2008 Thiago Sousa Santos <thiagoss@embedded.ufcg.edu.br>
- *
- * 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.
- */
-/*
- * Unless otherwise indicated, Source Code is licensed under MIT license.
- * See further explanation attached in License Statement (distributed in the file
- * LICENSE).
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
- * this software and associated documentation files (the "Software"), to deal in
- * the Software without restriction, including without limitation the rights to
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is furnished to do
- * so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef __GST_QT_MUX_H__
-#define __GST_QT_MUX_H__
-
-#include <gst/gst.h>
-#include <gst/base/gstcollectpads.h>
-
-#include "fourcc.h"
-#include "atoms.h"
-#include "gstqtmuxmap.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_QT_MUX (gst_qt_mux_get_type())
-#define GST_QT_MUX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_QT_MUX, GstQTMux))
-#define GST_QT_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_QT_MUX, GstQTMux))
-#define GST_IS_QT_MUX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_QT_MUX))
-#define GST_IS_QT_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_QT_MUX))
-#define GST_QT_MUX_CAST(obj) ((GstQTMux*)(obj))
-
-
-typedef struct _GstQTMux GstQTMux;
-typedef struct _GstQTMuxClass GstQTMuxClass;
-
-typedef struct _GstQTPad
-{
-  GstCollectData collect;       /* we extend the CollectData */
-
-  /* fourcc id of stream */
-  guint32 fourcc;
-  /* whether using format that have out of order buffers */
-  gboolean is_out_of_order;
-  /* whether upstream provides valid PTS data */
-  gboolean have_dts;
-  /* if not 0, track with constant sized samples, e.g. raw audio */
-  guint sample_size;
-  /* make sync table entry */
-  gboolean sync;
-
-  GstBuffer *last_buf;
-  /* dts of last_buf */
-  GstClockTime last_dts;
-
-  /* all the atom and chunk book-keeping is delegated here
-   * unowned/uncounted reference, parent MOOV owns */
-  AtomTRAK *trak;
-} GstQTPad;
-
-typedef enum _GstQTMuxState
-{
-  GST_QT_MUX_STATE_NONE,
-  GST_QT_MUX_STATE_STARTED,
-  GST_QT_MUX_STATE_DATA,
-  GST_QT_MUX_STATE_EOS
-} GstQTMuxState;
-
-struct _GstQTMux
-{
-  GstElement element;
-
-  GstPad *srcpad;
-  GstCollectPads *collect;
-
-  /* state */
-  GstQTMuxState state;
-
-  /* size of header (prefix, atoms (ftyp, mdat)) */
-  guint64 header_size;
-  /* accumulated size of raw media data (a priori not including mdat header) */
-  guint64 mdat_size;
-  /* position of mdat atom (for later updating) */
-  guint64 mdat_pos;
-
-  /* keep track of the largest chunk to fine-tune brands */
-  GstClockTime longest_chunk;
-
-  /* atom helper objects */
-  AtomsContext *context;
-  AtomFTYP *ftyp;
-  AtomMOOV *moov;
-
-  /* fast start */
-  FILE *fast_start_file;
-
-  /* properties */
-  guint32 timescale;
-  AtomsTreeFlavor flavor;
-  gboolean fast_start;
-  gboolean large_file;
-  gboolean guess_pts;
-  gchar *fast_start_file_path;
-
-  /* for collect pads event handling function */
-  GstPadEventFunction collect_event;
-
-  /* for request pad naming */
-  guint video_pads, audio_pads;
-};
-
-struct _GstQTMuxClass
-{
-  GstElementClass parent_class;
-
-  GstQTMuxFormat format;
-};
-
-/* type register helper struct */
-typedef struct _GstQTMuxClassParams
-{
-  GstQTMuxFormatProp *prop;
-  GstCaps *src_caps;
-  GstCaps *video_sink_caps;
-  GstCaps *audio_sink_caps;
-} GstQTMuxClassParams;
-
-#define GST_QT_MUX_PARAMS_QDATA g_quark_from_static_string("qt-mux-params")
-
-GType gst_qt_mux_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_QT_MUX_H__ */