diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-01-12 09:22:06 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-01-12 09:22:06 +0000 |
commit | 881b80513ef753bbbc35f58e57915712cbdd1e84 (patch) | |
tree | 8bd8f3c64f056cf08ba5379688ee3ece3ebbb693 /gst/xingheader/gstxingmux.h | |
parent | e2d08f0f034a7810aed5c789341c9fb4f3ddbcb3 (diff) | |
download | gst-plugins-bad-881b80513ef753bbbc35f58e57915712cbdd1e84.tar.gz gst-plugins-bad-881b80513ef753bbbc35f58e57915712cbdd1e84.tar.bz2 gst-plugins-bad-881b80513ef753bbbc35f58e57915712cbdd1e84.zip |
gst/xingheader/: Major cleanup and rewrite of xingmux with less bugs and new features:
Original commit message from CVS:
* gst/xingheader/Makefile.am:
* gst/xingheader/gstxingmux.c: (parse_header), (get_xing_offset),
(has_xing_header), (generate_xing_header),
(gst_xing_mux_base_init), (gst_xing_mux_finalize), (xing_reset),
(gst_xing_mux_init), (gst_xing_mux_chain),
(gst_xing_mux_sink_event), (gst_xing_mux_change_state):
* gst/xingheader/gstxingmux.h:
Major cleanup and rewrite of xingmux with less bugs and new features:
- Handles other layers as 3
- Write TOC
Diffstat (limited to 'gst/xingheader/gstxingmux.h')
-rw-r--r-- | gst/xingheader/gstxingmux.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gst/xingheader/gstxingmux.h b/gst/xingheader/gstxingmux.h index 33bab6f1..06b25a35 100644 --- a/gst/xingheader/gstxingmux.h +++ b/gst/xingheader/gstxingmux.h @@ -1,5 +1,6 @@ /* - * (c) 2006 Christophe Fergeau <teuf@gnome.org> + * Copyright (c) 2006 Christophe Fergeau <teuf@gnome.org> + * Copyright (c) 2008 Sebastian Dröge <slomo@circular-chaos.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -18,17 +19,29 @@ */ #include <gst/gst.h> +#include <gst/base/gstadapter.h> -typedef struct _GstXingMuxPriv GstXingMuxPriv; +typedef struct _GstXingSeekEntry +{ + gint64 timestamp; + gint byte; +} GstXingSeekEntry; /* Definition of structure storing data for this element. */ typedef struct _GstXingMux { GstElement element; GstPad *sinkpad, *srcpad; - - GstXingMuxPriv *priv; + GstAdapter *adapter; + GstClockTime duration; + guint64 byte_count; + guint64 frame_count; + GList *seek_table; + gboolean sent_xing; + + /* Copy of the first frame header */ + guint32 first_header; } GstXingMux; /* Standard definition defining a class for this element. */ |