matroskamux: add streamheaders
[platform/upstream/gst-plugins-good.git] / gst / matroska / ebml-write.h
index 26e9d9e..72ac2e1 100644 (file)
@@ -55,6 +55,10 @@ typedef struct _GstEbmlWrite {
   GstFlowReturn last_write_result;
 
   gboolean need_newsegment;
+
+  gboolean writing_streamheader;
+  GstByteWriter *streamheader;
+  guint64 streamheader_pos;
 } GstEbmlWrite;
 
 typedef struct _GstEbmlWriteClass {
@@ -68,6 +72,10 @@ void    gst_ebml_write_reset         (GstEbmlWrite *ebml);
 
 GstFlowReturn gst_ebml_last_write_result (GstEbmlWrite *ebml);
 
+/* Used to create streamheaders */
+void    gst_ebml_start_streamheader  (GstEbmlWrite *ebml);
+GstBuffer*    gst_ebml_stop_streamheader   (GstEbmlWrite *ebml);
+
 /*
  * Caching means that we do not push one buffer for
  * each element, but fill this one until a flush.