Commit graph

286 commits

Author SHA1 Message Date
Wim Taymans
10eb1a0ff4 avi: fix timestamps in push mode 2009-09-21 18:10:12 +02:00
Wim Taymans
2f26ee4285 avi: add some performance measurements
Measure the performance of various index and header parsing steps to the
PERFORMANCE debug category.
2009-09-21 12:32:51 +02:00
Stefan Kost
0868ddf30f avidemux: some logging cleanup to help understanding the index parsing overhead 2009-09-18 14:27:45 +03:00
David Schleef
55d2754098 Remove Ronald Bultje from Authors field
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-09-05 20:53:10 -07:00
Mark Nauwelaerts
bb2b02c5b7 avidemux: push mode; cater for unusual chunk sizes 2009-08-31 16:50:00 +02:00
Mark Nauwelaerts
96e72522fc avidemux: push mode; cater for chunk padding 2009-08-10 14:41:52 +02:00
Mark Nauwelaerts
f67db2a089 avidemux: only use stream's pad after having checked it exists 2009-08-10 14:41:34 +02:00
Mark Nauwelaerts
4249f52c6c avidemux: sprinkle some more GST_DEBUG_FUNCPTR 2009-08-10 14:41:29 +02:00
Mark Nauwelaerts
6d26594eef avidemux: post error message if no pads to push EOS event on 2009-08-10 14:41:27 +02:00
Mark Nauwelaerts
b0a0c06155 avidemux: fix typo in warning message 2009-08-10 14:41:23 +02:00
Mark Nauwelaerts
7750173244 avidemux: fix some buffer ref handling 2009-08-10 14:41:19 +02:00
Mark Nauwelaerts
5b0f7f04e7 avidemux: do not exceed maximum number of supported streams 2009-08-10 14:41:16 +02:00
Mark Nauwelaerts
effa7b4660 avidemux: prevent double unref; gst_avi_demux_parse_avih already unrefs 2009-08-10 14:41:14 +02:00
Mark Nauwelaerts
42bc085d95 avidemux: verify size of INFO LIST to satisfy subsequent expectations 2009-08-10 14:41:12 +02:00
Mark Nauwelaerts
f4f8e8532c avidemux: check video stream framerate against avi header frame duration
The former might be bogus in silly cases, and the latter seems to
carry more weight.
2009-08-10 14:41:09 +02:00
Mark Nauwelaerts
3863871100 avidemux: streamline stream duration calculation 2009-08-10 14:41:07 +02:00
Sebastian Dröge
22d712786c avidemux: Fix last commit and improve readability 2009-07-29 14:31:48 +02:00
Руслан Ижбулатов
3702fcdb80 Fixed the fix for TIME->DEFAULT conversion.
Fixes bug  again.
2009-07-29 13:58:33 +02:00
Sebastian Dröge
63115fe72c avi: Don't forward NEWSEGMENT events from upstream
New ones are generated later and simply forwarding them can
result in NEWSEGMENT events of different format going downstream.

Fixes bug .
2009-07-09 07:14:23 +02:00
Philip J�genstedt
0ebff2d14c avidemux: Replace deprecated GST_DISABLE_DEBUG with correct macro. Fixes 2009-07-06 10:40:31 +02:00
Edward Hervey
ff3730fb7b avidemux: Removed unused variable 2009-06-25 08:09:57 +02:00
Tim-Philipp Müller
632bb7818a avidemux: short-circuit gst_avi_demux_src_convert() when parsing the index
Don't call gst_avi_demux_src_convert() for each single index entry. Not
only do we already have the pointer to the stream context, we also know
the formats we want to convert from and to already, so we may just as
well use optimised conversion routines that bypass some of the checks
and lookups made in gst_avi_demux_src_convert().
2009-06-24 13:04:01 +01:00
Edward Hervey
4e6808bc52 avidemux: Sprinkle branch likeliness macros over the code. 2009-06-24 12:37:39 +02:00
Tim-Philipp Müller
4fe23fbe4b avidemux: post container-format tag 2009-06-22 10:49:01 +01:00
Mark Nauwelaerts
3d8f31843c avidemux: streaming; adjust sizes to cater for padding in chunks 2009-06-18 16:59:26 +02:00
Mark Nauwelaerts
08c9019566 avidemux: streaming mode; handle data chunks grouped in rec lists.
Fixes .
2009-06-17 12:31:42 +02:00
Edward Hervey
5e0a2296e0 avidemux: debug_memdump() unknown tags. Refactor junk parsing code.
This makes life slightly easier when debugging avi files.
2009-06-09 10:41:49 +02:00
Tim-Philipp Müller
4d07c78f0b avidemux: skip JUNK chunks in data section in streaming mode
Skip JUNK tags in streaming mode as well instead of EOSing
prematurely. Fixes .
2009-06-01 00:42:55 +01:00
Sebastian Dröge
e93f784ee1 avidemux: Fix pointer arithmetic
This fixes a seeking regression, bug .
2009-05-13 10:16:54 +02:00
Tristan Matthews
39da7e523d avidemux: initialize variable to 0
Fixes .
2009-05-11 21:02:27 +02:00
Sebastian Dröge
a62ed3b153 avidemux: Use the first entry for a given stream if the first entry is after the seek position 2009-05-11 18:15:22 +02:00
Sebastian Dröge
97fa58f397 avidemux: Use binary search for finding the requested index entry when seeking 2009-05-11 16:50:48 +02:00
Edward Hervey
1086c63827 avidemux: Move 'res' to where it's actually being used.
res was never used outside of that block except for a dead assignment.
2009-04-18 18:51:28 +02:00
Wim Taymans
cb344828a4 avidemux: don't push EOS in streaming mode
In streaming mode, avidemux is not supposed to send an EOS event downstream but
it is supposed to return UNEXPECTED from the chain function instead so that
upstream can do the right EOS handling.
2009-04-14 17:27:05 +02:00
LRN
3e7aede3ea avidemux: add convert query, fix duration query
Fix the duration query so that it also works with formats other than
TIME, such as DEFAULT to get the number of frames.

Add a convert function.

Fixes .
2009-04-10 00:26:44 +02:00
Alessandro Decina
b0c5c7f19b avidemux: don't post an error if EOS can't be pushed downstream.
This aligns avidemux with other demuxers and fixes a bug using avidemux
with a recent gnonlin.
2009-03-24 12:42:13 +01:00
Julien Moutte
ec5229d75f avidemux: fix SEEK event handling in push mode
When in push mode we should not try to handle the SEEK event as there's
no code to handle it properly. Propagate upstream.
2009-02-26 19:10:41 +01:00
Wim Taymans
1fec709792 avidemux: avoid crashing on subtitles
Avoid a crash in avi with subtitles by only dereferencing the video description
when we actually are dealing with video in the _invert function.
2009-02-25 12:05:22 +01:00
Sebastian Dröge
6756475fd3 avidemux: Fix alignment issues by using GST_READ_*
Reading integers from random memory addresses will result
in SIGBUS on some architectures if the memory address
is not correctly aligned. This can happen at two
places in avidemux so we should use GST_READ_UINT32_LE
and friends here. Fixes bug .
2009-02-22 18:32:02 +01:00
Edward Hervey
35848f66d8 Remove useless processing for non-raw formats 2009-01-30 17:01:30 +01:00
Stefan Kost
a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Stefan Kost
40a14e528e gst/avi/gstavidemux.c: More logging.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
More logging.
* gst/avi/gstavimux.c:
Handle more metadata fields. Better estimate of metadata size. Don't
merge received tags, if application has specified tags using
GST_TAG_MERGE_REPLACE_ALL. Fixes  for avi.
2008-12-09 17:55:22 +00:00
Nick Haddad
66c804b41c gst/avi/gstavidemux.c: Invert other uncompressed RGB formats. Fixes .
Original commit message from CVS:
Patch by: Nick Haddad <nick at haddads dot net>
* gst/avi/gstavidemux.c: (gst_avi_demux_is_uncompressed),
(gst_avi_demux_invert), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data):
Invert other uncompressed RGB formats. Fixes .
2008-10-31 10:00:18 +00:00
Edward Hervey
1297b556c7 gst/avi/gstavidemux.c: Skip entries for streams that don't have a output pad yet, thereby avoiding calling pad functi...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_scan):
Skip entries for streams that don't have a output pad yet, thereby
avoiding calling pad functions with a NULL pad.
Fixes 
2008-10-15 15:42:29 +00:00
Wim Taymans
52e9c2a32b gst/avi/gstavidemux.c: Reset header state. Fixes .
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_index):
Reset header state. Fixes .
2008-10-08 14:47:14 +00:00
Wim Taymans
b9a1894e5c gst/avi/gstavidemux.*: For timestamping audio packets we need to take into account the amount of blocks in one entry ...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_stream), (gst_avi_demux_parse_index):
* gst/avi/gstavidemux.h:
For timestamping audio packets we need to take into account the
amount of blocks in one entry using the blockalign. Fixes some sync
issues with zero-padded audio blocks in the beginning of avi files.
2008-10-08 13:31:44 +00:00
Tim-Philipp Müller
5c4b6ce079 Make stuff compile with GST_DISABLE_GST_DEBUG.
Original commit message from CVS:
* ext/raw1394/gsthdv1394src.c: (gst_hdv1394src_create):
* gst/alpha/gstalpha.c: (gst_alpha_get_unit_size):
* gst/audiofx/audiocheblimit.c: (generate_coefficients):
* gst/avi/gstavidemux.c: (gst_avi_demux_src_convert):
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_element_length):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_check_subtitle_buffer):
Make stuff compile with GST_DISABLE_GST_DEBUG.
2008-08-30 14:15:03 +00:00
Edward Hervey
25665a0df3 gst/avi/gstavidemux.c: Some AVI 2.0 (ODML) files don't respect the 'specifications' completely and instead of using t...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull),
(gst_avi_demux_read_subindexes_push):
Some AVI 2.0 (ODML) files don't respect the 'specifications' completely
and instead of using the 'ix##' nomenclature, use '##ix'.
They're still valid though, this fixes the duration and indexes for
virtually all the ODML files I have.
2008-08-16 14:54:56 +00:00
Alessandro Decina
365186956d gst/avi/gstavidemux.c: Fix build of avidemux on big endian architectures.
Original commit message from CVS:
Patch by: Alessandro Decina <alessandro at nnva dot org>
* gst/avi/gstavidemux.c: (gst_avi_demux_riff_parse_vprp):
Fix build of avidemux on big endian architectures.
2008-07-14 13:02:48 +00:00
Mark Nauwelaerts
ae82126a56 gst/avi/avi-ids.h: Add vprp chunk related structures.
Original commit message from CVS:
* gst/avi/avi-ids.h:
Add vprp chunk related structures.
* gst/avi/gstavidemux.c: (gst_avi_demux_riff_parse_vprp),
(gst_avi_demux_parse_stream):
Parse optional vprp chunk and add calculated pixel-aspect-ratio
to caps.  Fixes .
* gst/avi/gstavimux.h:
* gst/avi/gstavimux.c: (gst_avi_mux_pad_reset),
(gst_avi_mux_vidsink_set_caps), (gst_avi_mux_riff_get_avi_header):
Add a vprp chunk if non-trival pixel-aspect-ratio provided in caps.
2008-06-29 19:52:51 +00:00