Merge branch 'plugin-move-rtp-h265'
[platform/upstream/gst-plugins-good.git] / gst / audioparsers / gstaacparse.h
index 6b781d4..1bb7dca 100644 (file)
  *
  * 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.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
-#ifndef __GST_AACPARSE_H__
-#define __GST_AACPARSE_H__
+#ifndef __GST_AAC_PARSE_H__
+#define __GST_AAC_PARSE_H__
 
 #include <gst/gst.h>
 #include <gst/base/gstbaseparse.h>
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_AACPARSE \
-  (gst_aacparse_get_type())
-#define GST_AACPARSE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_AACPARSE, GstAacParse))
-#define GST_AACPARSE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_AACPARSE, GstAacParseClass))
-#define GST_IS_AACPARSE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_AACPARSE))
-#define GST_IS_AACPARSE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_AACPARSE))
+#define GST_TYPE_AAC_PARSE \
+  (gst_aac_parse_get_type())
+#define GST_AAC_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_AAC_PARSE, GstAacParse))
+#define GST_AAC_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_AAC_PARSE, GstAacParseClass))
+#define GST_IS_AAC_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_AAC_PARSE))
+#define GST_IS_AAC_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_AAC_PARSE))
 
 
 /**
@@ -45,6 +45,7 @@ G_BEGIN_DECLS
  * @DSPAAC_HEADER_UNKNOWN: Unknown (not recognized) header.
  * @DSPAAC_HEADER_ADIF: ADIF header found.
  * @DSPAAC_HEADER_ADTS: ADTS header found.
+ * @DSPAAC_HEADER_LOAS: LOAS header found.
  * @DSPAAC_HEADER_NONE: Raw stream, no header.
  *
  * Type header enumeration set in #header_type.
@@ -54,6 +55,7 @@ typedef enum {
   DSPAAC_HEADER_UNKNOWN,
   DSPAAC_HEADER_ADIF,
   DSPAAC_HEADER_ADTS,
+  DSPAAC_HEADER_LOAS,
   DSPAAC_HEADER_NONE
 } GstAacHeaderType;
 
@@ -63,19 +65,6 @@ typedef struct _GstAacParseClass GstAacParseClass;
 
 /**
  * GstAacParse:
- * @element: the parent element.
- * @object_type: AAC object type of the stream.
- * @bitrate:  Current media bitrate.
- * @sample_rate: Current media samplerate.
- * @channels: Current media channel count.
- * @frames_per_sec: FPS value of the current stream.
- * @header_type: #GstAacHeaderType indicating the current stream type.
- * @framecount: The amount of frames that has been processed this far.
- * @bytecount: The amount of bytes that has been processed this far.
- * @sync: Tells whether the parser is in sync (a.k.a. not searching for header)
- * @eos: End-of-Stream indicator. Set when EOS event arrives.
- * @duration: Duration of the current stream.
- * @ts: Current stream timestamp.
  *
  * The opaque GstAacParse data structure.
  */
@@ -88,8 +77,12 @@ struct _GstAacParse {
   gint           sample_rate;
   gint           channels;
   gint           mpegversion;
+  gint           frame_samples;
 
   GstAacHeaderType header_type;
+  GstAacHeaderType output_header_type;
+
+  gboolean sent_codec_tag;
 };
 
 /**
@@ -102,8 +95,8 @@ struct _GstAacParseClass {
   GstBaseParseClass parent_class;
 };
 
-GType gst_aacparse_get_type (void);
+GType gst_aac_parse_get_type (void);
 
 G_END_DECLS
 
-#endif /* __GST_AACPARSE_H__ */
+#endif /* __GST_AAC_PARSE_H__ */