Edward Hervey
683f2a02fb
avidemux: Stop scanning at the last entry... and not the one before :)
...
This ensures we actually push out everything
2009-10-20 18:23:28 +02:00
Edward Hervey
024f1bae0c
avidemux: MEMDUMP the junk blobs
...
It will only actually pull the junk blobs from upstream if the memdump
level is activated
2009-10-18 16:16:43 +02:00
Edward Hervey
1f5ace4de1
avidemux: Some avi files have INFO lists in the headers.
2009-10-18 16:16:43 +02:00
Edward Hervey
6e849f84fc
avidemux: Don't seek on empty streams
2009-10-18 16:16:43 +02:00
Edward Hervey
a6ed612f42
avidemux: Ensure _calculate_durations_from_index only uses valid streams
2009-10-18 16:15:08 +02:00
Edward Hervey
1936d6ed26
avidemux: Only call convert function if we have strf.auds
2009-10-18 16:15:08 +02:00
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
8f2beb5e51
avimux: support (some) VBR audio muxing
...
AVI format can handle VBR audio provided audio chunks are of fixed duration
(cfr fixed duration video frames). Apply this approach to (always) parsed
raw AAC and (if parsed) to MPEG-1/2 audio.
See #368681 .
2009-10-16 17:31:02 +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
9aa151a661
avi: add new avi flag we might want to use
2009-10-13 17:48:51 +02:00
Wim Taymans
df0335e65b
avimux: calculate suggested buffer size
...
Calculate the suggested buffer size based on the largest chunk in the file.
See #597847
2009-10-13 17:48:51 +02:00
Wim Taymans
b134ca31fa
avimux: add jpeg2000 to allowed caps
2009-10-13 17:48:51 +02:00
Wim Taymans
aea78a75ac
avidemux: add debug for the superindex offsets
2009-10-13 17:48:50 +02:00
Wim Taymans
50110d022d
avi: lower max file size
...
Make a constant of the max file size and lower the value to what ffmpeg does,
hopefully improving compatibility with windows media player.
See #597847
2009-10-13 13:08:33 +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
Thiago Santos
52482a3741
avimux: adds support to wma
2009-07-28 00:30:43 -03:00
Thiago Santos
f43b442cf9
avimux: adds support to wmv
2009-07-28 00:07:15 -03: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
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 #567983 .
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 #564100 .
2009-06-01 00:42:55 +01:00
Sebastian Dröge
e93f784ee1
avidemux: Fix pointer arithmetic
...
This fixes a seeking regression, bug #134522 .
2009-05-13 10:16:54 +02:00
Tristan Matthews
39da7e523d
avidemux: initialize variable to 0
...
Fixes #582218 .
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
Christian Schaller
bdf1698f35
Add RANKS for various encoders and muxers
2009-05-07 18:10:08 +01: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 #578052 .
2009-04-10 00:26:44 +02:00
Tim-Philipp Müller
2199592039
i18n: make sure gettext gives us UTF-8 at all times
2009-03-25 15:42:15 +00: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 #572256 .
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
8e462968cf
Remove version numbers from a few gst-launch examples.
...
The majority of the examples doe not use -0.10 and this will also help us to maintain the docs.
2009-01-29 11:07:59 +02: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
Mark Nauwelaerts
24eed322dc
gst/avi/gstavimux.c: Minor fix/cleanup in header field calculation.
...
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_audsink_set_caps):
Minor fix/cleanup in header field calculation.
2009-01-07 09:43:13 +00:00
Mark Nauwelaerts
b506ab9918
gst/avi/gstavimux.*: Ensure header size invariance during subsequent rewrite by using tags snapshot.
...
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_reset),
(gst_avi_mux_riff_get_avi_header):
* gst/avi/gstavimux.h:
Ensure header size invariance during subsequent rewrite by using
tags snapshot.
2009-01-06 14:50:29 +00:00
Stefan Kost
211bda0966
ext/pulse/pulsemixerctrl.c: And remove temporary comment pointing to the bug ticket.
...
Original commit message from CVS:
* ext/pulse/pulsemixerctrl.c:
And remove temporary comment pointing to the bug ticket.
* gst/avi/gstavimux.c:
Move reoccuring logging to LOG and log instance too.
2008-12-19 09:36:45 +00:00
Stefan Kost
36b879f7c3
gst/avi/gstavimux.c: Rename api from _flush to _reset_tags.
...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Rename api from _flush to _reset_tags.
2008-12-16 16:07:48 +00:00
Stefan Kost
9e72ba8464
gst/avi/gstavimux.c: Use new tagsetter api to flush tags.
...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Use new tagsetter api to flush tags.
2008-12-16 14:22:51 +00:00
Stefan Kost
b067b81453
gst/avi/gstavimux.*: Totally remove the internal taglists and fully use tagsetter.
...
Original commit message from CVS:
* gst/avi/gstavimux.c:
* gst/avi/gstavimux.h:
Totally remove the internal taglists and fully use tagsetter.
2008-12-16 11:57:01 +00:00
Stefan Kost
8add29398d
gst/avi/gstavimux.c: Instead of filtering wrongly just use the mergemode. Applications is use KEEP_ALL if they want t...
...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Instead of filtering wrongly just use the mergemode. Applications is
use KEEP_ALL if they want to supress tag-events. Fixes #563221 for
avi for real (I hope). Everyone chime in, before I fix the others.
2008-12-15 15:59:53 +00: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 #563221 for avi.
2008-12-09 17:55:22 +00:00
Stefan Kost
15649903aa
gst/avi/gstavimux.c: Don't segfault on string typed tags being NULL. Fixes #560155 .
...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Don't segfault on string typed tags being NULL. Fixes #560155 .
2008-11-11 10:06:01 +00:00
Stefan Kost
084812bffd
Don't install static libs for plugins. Fixes #550851 for -good.
...
Original commit message from CVS:
* ext/aalib/Makefile.am:
* ext/annodex/Makefile.am:
* ext/cairo/Makefile.am:
* ext/dv/Makefile.am:
* ext/esd/Makefile.am:
* ext/flac/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gdk_pixbuf/Makefile.am:
* ext/hal/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/libcaca/Makefile.am:
* ext/libmng/Makefile.am:
* ext/libpng/Makefile.am:
* ext/mikmod/Makefile.am:
* ext/pulse/Makefile.am:
* ext/raw1394/Makefile.am:
* ext/shout2/Makefile.am:
* ext/soup/Makefile.am:
* ext/speex/Makefile.am:
* ext/taglib/Makefile.am:
* ext/wavpack/Makefile.am:
* gst/alpha/Makefile.am:
* gst/apetag/Makefile.am:
* gst/audiofx/Makefile.am:
* gst/auparse/Makefile.am:
* gst/autodetect/Makefile.am:
* gst/avi/Makefile.am:
* gst/cutter/Makefile.am:
* gst/debug/Makefile.am:
* gst/effectv/Makefile.am:
* gst/equalizer/Makefile.am:
* gst/flx/Makefile.am:
* gst/goom/Makefile.am:
* gst/goom2k1/Makefile.am:
* gst/icydemux/Makefile.am:
* gst/id3demux/Makefile.am:
* gst/interleave/Makefile.am:
* gst/law/Makefile.am:
* gst/level/Makefile.am:
* gst/matroska/Makefile.am:
* gst/median/Makefile.am:
* gst/monoscope/Makefile.am:
* gst/multifile/Makefile.am:
* gst/multipart/Makefile.am:
* gst/oldcore/Makefile.am:
* gst/qtdemux/Makefile.am:
* gst/replaygain/Makefile.am:
* gst/rtp/Makefile.am:
* gst/rtsp/Makefile.am:
* gst/smpte/Makefile.am:
* gst/spectrum/Makefile.am:
* gst/udp/Makefile.am:
* gst/videobox/Makefile.am:
* gst/videocrop/Makefile.am:
* gst/videofilter/Makefile.am:
* gst/videomixer/Makefile.am:
* gst/wavenc/Makefile.am:
* gst/wavparse/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/oss/Makefile.am:
* sys/osxaudio/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/sunaudio/Makefile.am:
* sys/v4l2/Makefile.am:
* sys/waveform/Makefile.am:
* sys/ximage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -good.
2008-11-04 12:28:34 +00:00
Nick Haddad
66c804b41c
gst/avi/gstavidemux.c: Invert other uncompressed RGB formats. Fixes #558554 .
...
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 #558554 .
2008-10-31 10:00:18 +00:00
Mark Nauwelaerts
772201830f
gst/avi/gstavimux.c: Fix VPRP chunk setup in avimux.
...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Fix VPRP chunk setup in avimux.
Fixes : #556010
Patch By: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
2008-10-21 12:42:45 +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 #556424
2008-10-15 15:42:29 +00:00
Wim Taymans
52e9c2a32b
gst/avi/gstavidemux.c: Reset header state. Fixes #555321 .
...
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 #555321 .
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