Commit graph

313 commits

Author SHA1 Message Date
Edward Hervey
af99a4a1de avidemux: Use first indexed stream for seeking.
In the future, main_stream can be adjusted to contain the optimal stream
as mentionned in the FIXME line 3440
2009-10-18 16:15:05 +02:00
Edward Hervey
2110cbe556 avidemux: Only expose streams that actually have something in it.
This guarantees that in pull-mode, all streams have a valid index to
work with.
2009-10-18 16:14:40 +02:00
Edward Hervey
546aa4c4dd avidemux: Properly mark presence of index.
Instead of blindly saying we have an index, only do so if we have a
non-empty index.
2009-10-18 15:40:37 +02:00
Mark Nauwelaerts
7ceeb14834 avidemux: adjust flow return aggregation to updated loop_data
In particular, each stream is now treated separately, and one stream's
EOS should not lead to overall EOS.
2009-10-15 21:32:08 +02:00
Mark Nauwelaerts
f071ff6993 avidemux: add missing argument in debug message 2009-10-15 11:26:09 +02:00
Mark Nauwelaerts
0141934eec avidemux: use GstIndex for (limited) seeking in push mode
... but disable this for now.  Although it basically works fine,
user experience might be shaky (depending on taste), since there
is no keyframe info in push mode.
2009-10-14 13:15:09 +02:00
Mark Nauwelaerts
35dc28d69a avidemux: add GstIndex support 2009-10-14 13:15:06 +02:00
Mark Nauwelaerts
92dd51e511 avidemux: also determine duration in push mode 2009-10-14 13:15:04 +02:00
Wim Taymans
daa6d8f206 avidemux: demote some warnings to debug 2009-10-13 18:19:32 +02:00
Wim Taymans
aea78a75ac avidemux: add debug for the superindex offsets 2009-10-13 17:48:50 +02:00
Josep Torra
28ccc40bab avidemux: fix warning in macosx making the format portable 2009-10-09 11:43:44 +02:00
Jan Schmidt
cdb0b68e21 avi/wav: Fix some compiler warnings about incompatible pointers. 2009-10-08 10:20:09 +01:00
Robert Swain
c45c304a7e Fix printf formats to avoid warnings in avidemux. Fixes #597214
https://bugzilla.gnome.org/show_bug.cgi?id=597214
2009-10-03 17:25:19 +02:00
Stefan Kost
458cd4dcdc avi: don't misues perf-category and remove unused ext category
The performance category is meant to be used to audit codepaths that lead to bad
performance (e.g. copies, conversion that can be avoided).
Remove the event category which is not used.
2009-10-01 10:57:42 +03:00
Wim Taymans
3f263edbbf avi: small cleanups 2009-09-28 22:18:25 +02:00
Wim Taymans
217315c20b avi: fix timestamping in some audio streams
For vbr audio streams we need to use the number of blocks to calculate the
timestamps.
When the allocation of additional index memory fails, don't throw away what
we had before.
Various cleanups.
2009-09-28 22:17:02 +02:00
Wim Taymans
7b9b8343ba avi: add support for ODML indexes again 2009-09-28 22:17:00 +02:00
Wim Taymans
ceb7d66e25 avi: implement index scanning
Implement scanning of the file when we can parse the index.
Some refactoring of common code.
Cleanups and comments.
Remove some reimplemented code.
Remove index massage code and put a FIXME where we should do something
equivalent later.
2009-09-28 22:16:57 +02:00
Wim Taymans
8aa3830852 avi: fix reverse playback 2009-09-28 22:16:55 +02:00
Wim Taymans
3338f91cfe avi: fix prev keyframe search and cleanups 2009-09-28 22:16:53 +02:00
Wim Taymans
1b325945e5 avi: remove code that got converted 2009-09-28 22:16:50 +02:00
Wim Taymans
c199b1d039 avi: more cleanups
Remove some duplicate counters.
Be smarter when updateing the current the timestamp and offset in the stream
because we can reuse previously calculated values when simply go forward one
step.
Correctly set metadata on outgoing buffers.
2009-09-28 22:16:48 +02:00
Wim Taymans
0d70fe30a8 avidemux: small cleanups 2009-09-28 22:16:46 +02:00
Wim Taymans
b4a490655a avi: fix read offset and cleanups 2009-09-28 22:16:43 +02:00
Wim Taymans
9c37611dfa avi: rewrite index playback
disable code, start on reimplementing loop based operation.
Rewrite the index handling so that all streams use their own index for decoding
media.
2009-09-28 22:16:41 +02:00
Wim Taymans
89bcbbbe7c avidemux: add new index parsing code
Add a new function and datastructure to parse and hold the index entries on a
per stream base. Also avoid doing too much work trying to figure out the
timestamps and durations as we can trivially do that later.

Less information in the entries makes them 2 times smaller and not doing too
much work makes this code about 12 times faster than the regular case.

Hook in the new function alongside the existing function for comparison until
the rest of the code is updated to handle the new index datastructure.
2009-09-28 22:16:38 +02:00
Alessandro Decina
195883b30a Fix compile warnings with gcc 4.0.1. 2009-09-22 15:04:36 +02:00
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 #578052 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 #587983.
2009-07-09 07:14:23 +02:00
Philip Jgenstedt
0ebff2d14c avidemux: Replace deprecated GST_DISABLE_DEBUG with correct macro. Fixes #587826 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