summaryrefslogtreecommitdiffstats
path: root/ext/flac/gstflacenc.h
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2007-05-25 16:02:51 +0000
committerTim-Philipp Müller <tim@centricular.net>2007-05-25 16:02:51 +0000
commitadc1e646645ef6c6b726c600c57fefda66f4934c (patch)
tree11b75ffe292ccc211e1b866fda3fba2fd0e62094 /ext/flac/gstflacenc.h
parent4a7ecfb81482c873dc7b97c65dc601abdfbdc9fa (diff)
ext/flac/gstflacenc.*: Collect headers, add "streamheader" field to output caps and set
Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_init), (notgst_value_array_append_buffer), (gst_flac_enc_process_stream_headers), (gst_flac_enc_write_callback), (gst_flac_enc_chain), (gst_flac_enc_change_state): * ext/flac/gstflacenc.h: Collect headers, add "streamheader" field to output caps and set BUFFER_IN_CAPS flag on pushed header buffers. That way oggmux produces output according to the official FLAC-to-Ogg mapping instead of completely broken files. Fixes #426044.
Diffstat (limited to 'ext/flac/gstflacenc.h')
-rw-r--r--ext/flac/gstflacenc.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/flac/gstflacenc.h b/ext/flac/gstflacenc.h
index 8629b20a..500e26a0 100644
--- a/ext/flac/gstflacenc.h
+++ b/ext/flac/gstflacenc.h
@@ -39,7 +39,8 @@ typedef struct _GstFlacEncClass GstFlacEncClass;
struct _GstFlacEnc {
GstElement element;
- GstPad *sinkpad,*srcpad;
+ GstPad *sinkpad;
+ GstPad *srcpad;
gboolean first;
GstBuffer *first_buf;
@@ -58,6 +59,10 @@ struct _GstFlacEnc {
FLAC__StreamMetadata **meta;
GstTagList * tags;
+
+ /* queue headers until we have them all so we can add streamheaders to caps */
+ gboolean got_headers;
+ GList *headers;
};
struct _GstFlacEncClass {