Commit graph

18 commits

Author SHA1 Message Date
Tim-Philipp Müller
7a8ebc4a79 matroskamux: reduce newsegment event spam and set discont flag where needed
Only send newsegment events with new positions downstream when actually
needed, instead of sending multiple newsegment events with new seek
positions in a row. Also set the discont flag on buffers after a
discontinuity.
2010-10-14 14:00:59 +01:00
Tim-Philipp Müller
84e47e579b matroskamux: set correct buffer offsets after seeks
Re-use the existing 'pos' field maintained by ebml writer to set
buffer offsets. This also makes sure that we set the right offsets
on buffers after a seek (e.g. when writing an index at the end).
2010-10-14 12:48:33 +01:00
Zaheer Abbas Merali
f012ab67cc matroskamux: set offsets on outgoing buffers 2010-10-10 14:44:43 +01:00
Zaheer Abbas Merali
ec23b22d29 matroskamux: set delta unit on all buffers except cluster start ones 2010-06-01 16:43:04 +01:00
Zaheer Abbas Merali
d3daa12473 matroskamux: store caps and set on buffers rather than using pad caps 2010-06-01 16:43:03 +01:00
Zaheer Abbas Merali
7c402d5866 matroskamux: add streamheaders 2010-06-01 16:43:03 +01:00
Mark Nauwelaerts
b8fd1a91f1 matroskamux: use write caching also when writing buffer data
Specifically, this reduces pushing several small buffers for each
data buffer and also avoids a seek for each buffer altogether
(though a seek is still needed for each cluster).

Fixes #619273.
2010-06-01 15:54:35 +02:00
Mark Nauwelaerts
81bf657aa7 matroskamux: fix ebml write caching with bytewriter implementation
Also cache a bit more during header writing.

Fixes #619273.
2010-06-01 15:53:43 +02:00
Benjamin Otte
3f511ec361 Add -Wwrite-strings to the configure flags
... and fix all warnings
2010-03-21 14:17:47 +01:00
Tim-Philipp Müller
63c86ac3d8 raw1394, matroska, rtpmanager: remove padding from structures
None of these element and class structures are in public headers,
so don't need padding.
2010-02-15 00:50:10 +00:00
Stefan Kost
1e777109e8 Fix broken GObject macros
Original commit message from CVS:
* ext/annodex/gstcmmldec.h:
* ext/annodex/gstcmmlenc.h:
* ext/annodex/gstcmmltag.h:
* ext/cairo/gsttextoverlay.h:
* ext/ladspa/gstsignalprocessor.h:
* gst/matroska/ebml-read.h:
* gst/matroska/ebml-write.h:
* sys/osxaudio/gstosxaudioelement.h:
Fix broken GObject macros
2006-04-08 18:25:55 +00:00
Tim-Philipp Müller
dce4937fb1 gst/matroska/ebml-write.*: Make sure we send a newsegment event in BYTES format before sending buffers (#328531).
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_reset),
(gst_ebml_write_flush_cache), (gst_ebml_write_element_push),
(gst_ebml_write_seek):
* gst/matroska/ebml-write.h:
Make sure we send a newsegment event in BYTES format
before sending buffers (#328531).
2006-02-06 14:25:34 +00:00
Thomas Vander Stichele
3ecf433432 expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:44:58 +00:00
Tim-Philipp Müller
7d9dd13c6e gst/matroska/: Set timestamps on outgoing ebml headers as well, so that the element after matroskamux can get the tim...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/matroska/ebml-write.c: (gst_ebml_write_new),
(gst_ebml_write_reset), (gst_ebml_write_element_new):
* gst/matroska/ebml-write.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
Set timestamps on outgoing ebml headers as well, so that the
element after matroskamux can get the timestamp already when
reading the first ebml element and doesn't have to wait for
the actual data buffer for that (#320308).
2005-11-01 12:35:39 +00:00
Tim-Philipp Müller
22b9a5cd43 Port matroska muxer to 0.9 (#318847).
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* configure.ac:
* gst/matroska/Makefile.am:
* gst/matroska/ebml-ids.h:
* gst/matroska/ebml-write.c:
* gst/matroska/ebml-write.h:
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c:
* gst/matroska/matroska-mux.h:
* gst/matroska/matroska.c: (plugin_init):
Port matroska muxer to 0.9 (#318847).
2005-10-14 12:43:30 +00:00
Johan Dahlin
5acffea623 *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2004-03-15 16:32:54 +00:00
Thomas Vander Stichele
5d25c00e4b gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:33 +00:00
Ronald S. Bultje
12e856c26d Riff, EBML, fourcc etc. work. Not fully finished, but better than what we used to have and definately worth a first b...
Original commit message from CVS:
Riff, EBML, fourcc etc. work. Not fully finished, but better than
what we used to have and definately worth a first broad testing.

I've revived rifflib. Rifflib used to be a bytestream-for-riff, which
just dup'ed bytestream. I've rewritten rifflib to be a modern riff-
chunk parser that uses bytestream fully, plus adds some extra functions
so that riff file parsing becomes extremely easy. It also contains some
small usability functions for strh/strf and metadata parsing. Note that
it doesn't use the new tagging yet, that's a TODO.

Avidemux has been rewritten to use this. I think we all agreed that
avidemux was pretty much a big mess, which is because it used all
sort of bytestream magic all around the place. It was just ugly.
This is a lot nicer, very complete and safe. I think this is far more
robust than what the old avidemux could ever have been. Of course, it
might contain bugs, please let me know.

EBML writing has also been implemented. This is useful for matroska.
I'm intending to modify avidemux (with a riffwriter) similarly. Maybe
I'll change wavparse/-enc too to use rifflib.

Lastly, several plugins have been modified to use rifflib's fourcc
parsing instead of their own. this puts fourcc parsing in one central
place, which should make it a lot simpler to add new fourccs. We might
want to move this to its own lib instead of rifflib.

Enjoy!
2003-12-07 20:00:41 +00:00