Commit graph

533 commits

Author SHA1 Message Date
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
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
Mark Nauwelaerts
19bee306fe gst/avi/gstavimux.c: Provide cbSize field for audio extra_data size, and take care to pad extra_data.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_riff_get_avi_header):
Provide cbSize field for audio extra_data size, and take care to
pad extra_data.
2008-08-04 09:16:40 +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 #539482.
* 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
Mark Nauwelaerts
5e6696db9d gst/avi/gstavimux.*: Add 8 bytes to current streamheader to make for a complete one and to make more players happy. ...
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_riff_get_avi_header):
* gst/avi/gstavimux.h:
Add 8 bytes to current streamheader to make for a complete one
and to make more players happy.  Fixes #519460.
2008-06-27 15:25:00 +00:00
Stefan Kost
8fc46085b3 gst/avi/gstavimux.c: Simplify code. gst_tag_list_merge() does the NULL checks. Add a FIXME for a random constant in t...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Simplify code. gst_tag_list_merge() does the NULL checks. Add a FIXME
for a random constant in tagmuxing code.
2008-06-12 12:14:38 +00:00
Wim Taymans
b28a5162af gst/avi/gstavidemux.c: Try to ignore unparsable/unknown streams and give a warning instead of erroring out. Fixes #53...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull):
Try to ignore unparsable/unknown streams and give a warning instead of
erroring out. Fixes #537377.
2008-06-10 11:05:30 +00:00
Thijs Vermeir
61a15f8c5f gst/avi/gstavidemux.c: Catch UNEXPECTED when downstream has reached end of segment in reverse mode.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Catch UNEXPECTED when downstream has reached end of
segment in reverse mode.
2008-06-05 09:45:00 +00:00
Thijs Vermeir
8057839bdd gst/avi/gstavidemux.c: Fix typo in comment
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Fix typo in comment
2008-06-04 18:08:35 +00:00
Thijs Vermeir
b950285ac7 gst/avi/gstavidemux.c: Because we don't know the frame order we need to push till the next keyframe
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Because we don't know the frame order we need to push till
the next keyframe
2008-06-04 18:03:24 +00:00
Thijs Vermeir
f1c5dc21b4 gst/avi/gstavidemux.c: Set EOS when going out of the segment in reverse playback
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Set EOS when going out of the segment in reverse playback
2008-06-04 16:49:26 +00:00
Thijs Vermeir
2c6e50598e gst/avi/gstavidemux.*: Implement reverse playback. Fixes #535300.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst/avi/gstavidemux.c: (gst_avi_demux_index_next),
(gst_avi_demux_index_prev), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_do_seek), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
* gst/avi/gstavidemux.h:
Implement reverse playback. Fixes #535300.
Small cleanups.
2008-06-02 16:10:00 +00:00
Stefan Kost
961eed538b gst/avi/gstavimux.c: Also support alaw/mulaw.
Original commit message from CVS:
* gst/avi/gstavimux.c:
Also support alaw/mulaw.
2008-05-21 14:09:41 +00:00
Mark Nauwelaerts
706b1dff39 gst/avi/gstavimux.c: Set proper rate in avi stream header for PCM audio, and also do some more sanity checks on caps ...
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_audsink_set_caps):
Set proper rate in avi stream header for PCM audio, and also do some
more sanity checks on caps in this case.  Fixes #511489.
2008-05-18 19:27:59 +00:00
Mark Nauwelaerts
94414c07a6 gst/avi/gstavimux.c: Send an initial BYTE segment to inform downstream of later seeking, and to forego sync attempts.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_start_file):
Send an initial BYTE segment to inform downstream of later seeking,
and to forego sync attempts.
2008-05-13 20:25:20 +00:00
Mark Nauwelaerts
9ebb11bebf gst/avi/gstavimux.c: Do not leave fourcc stream header field empty upon reset.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_pad_reset):
Do not leave fourcc stream header field empty upon reset.
Fixes #519301.
2008-05-12 15:26:01 +00:00
Wim Taymans
bd8c40c014 gst/avi/gstavidemux.c: Fix typo in comments.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_combine_flows):
Fix typo in comments.
* tests/examples/rtp/client-H263p-PCMA.sdp:
* tests/examples/rtp/client-H263p-PCMA.sh:
* tests/examples/rtp/client-H264-PCMA.sdp:
* tests/examples/rtp/client-H264-PCMA.sh:
* tests/examples/rtp/client-H264.sdp:
* tests/examples/rtp/client-H264.sh:
* tests/examples/rtp/client-PCMA.sdp:
* tests/examples/rtp/client-PCMA.sh:
* tests/examples/rtp/server-alsasrc-PCMA.sh:
* tests/examples/rtp/server-v4l2-H263p-alsasrc-AMR.sh:
* tests/examples/rtp/server-v4l2-H264-alsasrc-PCMA.sh:
Add some more docs and fix examples.
2008-04-25 07:56:12 +00:00
Stefan Kost
fbb779216c gst/avi/gstavidemux.c: Erm, the buffer-size is just guint, no need for the special format specifier.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Erm, the buffer-size is just guint, no need for the special format
specifier.
2008-03-16 15:01:07 +00:00
Stefan Kost
e0ac7c51f3 gst/avi/gstavidemux.c: Fix up my last commit. Use G_GUINT32_FORMAT for the guint32 debug log.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Fix up my last commit. Use G_GUINT32_FORMAT for the guint32 debug log.
Also downgrade a GST_WARNING to GST_DEBUG and add a comment.
2008-03-16 14:04:16 +00:00
Stefan Kost
ae0eb4e7ce gst/avi/gstavidemux.c: Chunksize is uint32. Fix format specifier.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Chunksize is uint32. Fix format specifier.
2008-03-15 22:10:38 +00:00
Tim-Philipp Müller
c4c7a68816 gst/avi/gstavisubtitle.h: Fix up IS_FOO macros, which makes gtk-doc much happier.
Original commit message from CVS:
* gst/avi/gstavisubtitle.h: (GST_IS_AVI_SUBTITLE),
(GST_IS_AVI_SUBTITLE_CLASS):
Fix up IS_FOO macros, which makes gtk-doc much happier.
2008-03-11 15:18:43 +00:00
David Schleef
1a90a6c4dc gst/avi/gstavimux.c: Add Dirac encoding
Original commit message from CVS:
* gst/avi/gstavimux.c: Add Dirac encoding
2008-02-28 23:56:30 +00:00
Jan Schmidt
8aaddaee2b gst/avi/gstavidemux.c: Revert patch which sends timestamps only on keyframes, as it breaks playback with current gst-...
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Revert patch which sends timestamps only on keyframes, as it
breaks playback with current gst-ffmpeg.
Fixes: #515562
2008-02-11 21:24:30 +00:00
Edward Hervey
87eb1f391d gst/avi/gstavidemux.c: If there's no entries in the subindex, don't try to do anything stupid, just return.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex):
If there's no entries in the subindex, don't try to do anything stupid,
just return.
2008-02-04 12:07:14 +00:00
Thijs Vermeir
51c8f38aa8 Add documentation for avisubtitle and change class to
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* gst/avi/gstavisubtitle.c:
Add documentation for avisubtitle and change class to
Codec/Parser/Subtitle
2008-02-01 18:29:21 +00:00
Wim Taymans
bc1734ac89 gst/avi/gstavidemux.c: GStreamer timestamps are PTS values while AVI only knows about DTS timestamps. Make sure we on...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data):
GStreamer timestamps are PTS values while AVI only knows about DTS
timestamps. Make sure we only copy the DTS as the buffer timestamp when
we are dealing with a key frame.
2008-01-29 18:24:28 +00:00
Tim-Philipp Müller
11118eabb9 gst/: Initialise variables to work around (false) 'foo might be used uninitialized in this function' warnings by gcc-...
Original commit message from CVS:
* gst/avi/gstavisubtitle.c: (gst_avi_subtitle_extract_file):
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send):
Initialise variables to work around (false) 'foo might be used
uninitialized in this function' warnings by gcc-3.3.3 (#509298).
2008-01-14 12:11:43 +00:00
Thijs Vermeir
311264bcf8 gst/avi/gstavi.c: increase rank because no known issues anymore ...
Original commit message from CVS:
* gst/avi/gstavi.c:
increase rank because no known issues anymore ...
* gst/avi/gstavisubtitle.c:
send subtitle name to the srcpad
2008-01-02 13:54:10 +00:00
Tim-Philipp Müller
bcdeaa639b Fix 'xyz may be used uninitialized' compiler warnings caused by broken g_assert_not_reached() macro in GLib-2.15.x (i...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_loop):
* gst/wavparse/gstwavparse.c: (gst_wavparse_chain):
* sys/ximage/gstximagesrc.c: (composite_pixel):
Fix 'xyz may be used uninitialized' compiler warnings caused
by broken g_assert_not_reached() macro in GLib-2.15.x (it's
not really nice to abort in any case). Fixes #505745.
2007-12-26 16:03:57 +00:00
Thijs Vermeir
587583b4fe Add seeking support for avi subtitle
Original commit message from CVS:
* gst/avi/gstavisubtitle.c:
* tests/check/elements/avisubtitle.c:
Add seeking support for avi subtitle
2007-12-18 21:13:05 +00:00
Tim-Philipp Müller
49e1ff8931 gst/avi/gstavisubtitle.c: Detect other UTF byte order markers and convert to UTF-8 as appropriate.
Original commit message from CVS:
* gst/avi/gstavisubtitle.c: (IS_BOM_UTF8), (IS_BOM_UTF16_BE),
(IS_BOM_UTF16_LE), (IS_BOM_UTF32_BE), (IS_BOM_UTF32_LE),
(gst_avi_subtitle_extract_file), (gst_avi_subtitle_parse_gab2_chunk):
Detect other UTF byte order markers and convert to UTF-8 as
appropriate.
2007-12-18 14:31:36 +00:00
Tim-Philipp Müller
87aed1a256 gst/avi/gstavisubtitle.*: Refactor a bit; fix name extraction; don't assume all the data in the chunk is actually sub...
Original commit message from CVS:
* gst/avi/gstavisubtitle.c: (src_template),
(gst_avi_subtitle_extract_utf8_file),
(gst_avi_subtitle_parse_gab2_chunk), (gst_avi_subtitle_chain),
(gst_avi_subtitle_base_init), (gst_avi_subtitle_class_init),
(gst_avi_subtitle_init), (gst_avi_subtitle_change_state):
* gst/avi/gstavisubtitle.h:
Refactor a bit; fix name extraction; don't assume all the data
in the chunk is actually subtitle data, there may be padding at
the end; fix GST_ELEMENT_ERROR usage; store extracted subtitle
file so it's there to send again after a seek (for future use).
2007-12-18 13:30:15 +00:00
Thijs Vermeir
d0c62e9108 Add avi subtitle element for bug #442034. Need seeking support and more support for character conversion.
Original commit message from CVS:
* gst/avi/Makefile.am:
* gst/avi/gstavi.c:
* gst/avi/gstavisubtitle.c:
* gst/avi/gstavisubtitle.h:
* tests/check/Makefile.am:
* tests/check/elements/avisubtitle.c:
* win32/common/config.h:
Add avi subtitle element for bug #442034. Need seeking support
and more support for character conversion.
2007-12-18 09:13:12 +00:00
Mark Nauwelaerts
760ba00524 gst/avi/gstavimux.c: Fix regression in stream numbering. Fixes #502655.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw skynet be>
* gst/avi/gstavimux.c: (gst_avi_mux_start_file):
Fix regression in stream numbering. Fixes #502655.
2007-12-11 16:47:12 +00:00
Stefan Kost
561bfe0457 gst/: Return the result in _activate_pull(). Don't ref element there.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/wavparse/gstwavparse.c:
Return the result in _activate_pull(). Don't ref element there.
2007-11-13 06:55:28 +00:00
Stefan Kost
8deb4fbd92 gst/: Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that previous commit messed up.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that
previous commit messed up.
2007-11-12 17:21:59 +00:00
Stefan Kost
8ae866e5c6 gst/: Sync _handle_src_event() with oggdemux. In avidemux also ref the element when we should, but not when we its no...
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Sync _handle_src_event() with oggdemux. In avidemux also ref the
element when we should, but not when we its not needed.
2007-11-12 17:06:32 +00:00
Stefan Kost
cc3966d7a3 Add some debug and sync tests with the fix.
Original commit message from CVS:
* gst/avi/gstavimux.c:
* tests/check/elements/avimux.c:
Add some debug and sync tests with the fix.
2007-10-19 19:33:16 +00:00
Stefan Kost
ce6f5264bd gst/avi/gstavimux.*: Also save codec data for audio streams. Fixes #482495.
Original commit message from CVS:
* gst/avi/gstavimux.c:
* gst/avi/gstavimux.h:
Also save codec data for audio streams. Fixes #482495.
2007-10-02 10:49:03 +00:00
Stefan Kost
b36ce655d8 gst/avi/gstavimux.c: Fix "Index entry has invalid stream nr 1".
Original commit message from CVS:
* gst/avi/gstavimux.c:
Fix "Index entry has invalid stream nr 1".
Add support for muxing aac - work in progress (see #482495).
2007-10-02 10:23:04 +00:00
Stefan Kost
2d15f70302 gst/avi/gstavidemux.c: Plug a little leak. Little code cleanups.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Plug a little leak. Little code cleanups.
2007-09-10 06:49:32 +00:00
Stefan Kost
c1b2242e77 gst/avi/gstavidemux.c: Implement seek-query.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Implement seek-query.
2007-09-03 07:44:34 +00:00
Mark Nauwelaerts
f1d6cf3ac0 gst/avi/gstavimux.c: Fix ODML index tag numbering. Fixes #463624.
Original commit message from CVS:
patch by: Mark Nauwelaerts <manauw@skynet.be>
* gst/avi/gstavimux.c:
Fix ODML index tag numbering. Fixes #463624.
2007-08-05 14:53:36 +00:00
Tim-Philipp Müller
3127a32c1c gst/avi/gstavidemux.*: Parse subtitle text streams instead of erroring out (#442034). Still needs a parser for the su...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_base_init),
(gst_avi_demux_reset), (gst_avi_demux_parse_stream):
* gst/avi/gstavidemux.h:
Parse subtitle text streams instead of erroring out (#442034). Still
needs a parser for the subtitles to actually show up.
2007-05-30 14:38:59 +00:00
Tim-Philipp Müller
f91649edb8 gst/avi/gstavidemux.c: Make _push_event() return TRUE if the event could be pushed on at least one pad and not only i...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_push_event),
(gst_avi_demux_loop):
Make _push_event() return TRUE if the event could be pushed on at
least one pad and not only if it could be pushed on all pads,
otherwise we'll end up posting an error message on EOS if one or
more source pads are not connected.
2007-05-30 12:46:32 +00:00
Peter Kjellerstedt
50f88db3ad gst/: Fix some compiler warnings. Fixes #428182.
Original commit message from CVS:
Patch by: Peter Kjellerstedt  <pkj at axis com>
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
* gst/rtp/gstrtpL16depay.c:
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process):
* gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_get_mode),
(gst_rtp_speex_depay_setcaps):
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_loop_udp):
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_init_send):
Fix some compiler warnings. Fixes #428182.
2007-04-10 10:01:14 +00:00
Julien Moutte
d42fcc86cf gst/avi/gstavidemux.c: Don't leave the offsets defined by upstream element on the compressed data buffer we are pushi...
Original commit message from CVS:
2007-04-05  Julien MOUTTE  <julien@moutte.net>

* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Don't leave the offsets defined by upstream element on the
compressed data buffer we are pushing downstream. Make them
GST_BUFFER_OFFSET_NONE.
2007-04-05 11:26:25 +00:00
Stefan Kost
30df72ccb7 gst/avi/: Don't abort on out-of-memory. Use stream-nr as unsigned integer only.
Original commit message from CVS:
* gst/avi/README:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_parse_stream), (gst_avi_demux_parse_index),
(gst_avi_demux_stream_index), (gst_avi_demux_sync),
(gst_avi_demux_stream_scan), (gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull), (gst_avi_demux_combine_flows),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data):
Don't abort on out-of-memory. Use stream-nr as unsigned integer only.
2007-04-04 12:39:41 +00:00
Tim-Philipp Müller
7236a2f8b3 Printf format fixes; also add some missing quotes in translated strings. Fixes #416728 and #416727.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index):
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame):
Printf format fixes; also add some missing quotes in translated
strings. Fixes #416728 and #416727.
2007-03-10 12:30:48 +00:00
Wim Taymans
a98caaeb67 gst/avi/gstavidemux.c: Fix stream position reporting after a seek. Fixes #416445.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_push_event), (gst_avi_demux_do_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_chain):
Fix stream position reporting after a seek. Fixes #416445.
2007-03-09 15:04:45 +00:00
René Stadler
654ad41f25 gst/avi/gstavidemux.c: Make avidemux accept optional header chunks in any order.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_push_event), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_chain):
Make avidemux accept optional header chunks in any order.
Fixes #415446.
2007-03-08 16:01:42 +00:00
Wim Taymans
83676ebd17 gst/avi/gstavidemux.c: Fix combined flow return. Fixes #412608.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_combine_flows),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop), (gst_avi_demux_chain):
Fix combined flow return. Fixes #412608.
2007-02-28 10:54:55 +00:00
zhangfei gao
d08a7da76b gst/avi/gstavimux.c: Allow muxing video/x-h264 (was already in the caps). Fixes #407780.
Original commit message from CVS:
Patch by: zhangfei gao <gaozhangfei@yahoo.com.cn>
* gst/avi/gstavimux.c: (gst_avi_mux_vidsink_set_caps):
Allow muxing video/x-h264 (was already in the caps). Fixes #407780.
2007-02-14 12:07:01 +00:00
Stefan Kost
5116ff603e gst/avi/gstavidemux.c: Put debug stuff into #ifndef GST_DISABLE_DEBUG #endif
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
Put debug stuff into #ifndef GST_DISABLE_DEBUG #endif
2007-02-13 11:57:18 +00:00
Stefan Kost
114afecd8d gst/avi/gstavidemux.*: Save some memory (8%) by repacking the index entry structure (more to come). Add more FIXMEs t...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_reset), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_handle_src_query), (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_next_data_buffer),
(gst_avi_demux_stream_scan), (gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull),
(gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Save some memory (8%) by repacking the index entry structure (more to
come). Add more FIXMEs to questionable parts.
2007-02-12 15:29:44 +00:00
Sébastien Moutte
9c8ea35617 gst/avi/gstavimux.c: Comment a #if 0 in caps template definition as VS6 seems to do not support it.
Original commit message from CVS:
* gst/avi/gstavimux.c:
Comment a #if 0 in caps template definition as VS6 seems to
do not support it.
* gst/rtsp/gstrtspsrc.c:(gst_rtspsrc_loop_udp):
Use gst_guint64_to_gdouble for conversion.
* gst/rtsp/rtspconnection.c:(rtsp_connection_send):
Move variables declaration before the first instruction.
* gst/rtsp/rtspdefs.c:(rtsp_strresult):
Don't use hstrerror for error log on G_OS_WIN32 build as it's not supported.
And don't include netdb.h for G_OS_WIN32
* gst/rtsp/sdpmessage.c:(sdp_parse_line):
This initialization SDPMedia nmedia = {.media = NULL }; is not supported
by VS6 then use an other way to initialize SDPMedia structure.
* gst/udp/gstdynudpsink.h:
* gst/udp/gstdynudpnetutils.h:
Do not include <sys/time.h> for G_OS_WIN32
* gst/udp/gstudpsrc.c:
Define socklen_t as int for G_OS_WIN32
* win/common/config.h.in:
Undef HAVE_NETINET_IN_H
* win32/vs6/gst_plugins_good.dsw:
* win32/vs6/libgstrtp.dsp:
* win32/vs6/libgstrtsp.dsp:
* win32/vs6/libgstautogen.dsp:
* win32/vs6/libgstaudiofx.dsp:
* win32/vs6/libgstudp.dsp:
Add and update project files.
* win32/common/gstudp-enumtypes.c:
* win32/common/gstudp-enumtypes.h:
Add a copy of udp enumtypes to win32/common as in core
and base.
2007-02-11 12:57:47 +00:00
Tim-Philipp Müller
d8f5483d85 gst/avi/gstavimux.c: Explicitly cast result of pointer arithmetic to integer in order to avoid compiler warnings on s...
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_riff_get_avi_header):
Explicitly cast result of pointer arithmetic to integer in order to
avoid compiler warnings on some 64-bit systems. Should fix #406018.
2007-02-09 09:24:58 +00:00
Tim-Philipp Müller
a10f2478bb gst/avi/gstavidemux.c: Error out properly when pull_range fails while we're reading the headers, instead of just paus...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header_pull):
Error out properly when pull_range fails while we're reading the
headers, instead of just pausing the task silently. Fixes #399338.
2007-01-22 13:06:43 +00:00
Mark Nauwelaerts
36dfafcda9 Add support for more than one audio stream; write better AVIX header; refactor code a bit; don't announce vorbis caps...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/avi/gstavimux.c: (gst_avi_mux_finalize),
(gst_avi_mux_pad_reset), (gst_avi_mux_reset), (gst_avi_mux_init),
(gst_avi_mux_vidsink_set_caps), (gst_avi_mux_audsink_set_caps),
(gst_avi_mux_request_new_pad), (gst_avi_mux_release_pad),
(gst_avi_mux_riff_get_avi_header),
(gst_avi_mux_riff_get_avix_header), (gst_avi_mux_riff_get_header),
(gst_avi_mux_write_avix_index), (gst_avi_mux_add_index),
(gst_avi_mux_bigfile), (gst_avi_mux_start_file),
(gst_avi_mux_stop_file), (gst_avi_mux_handle_event),
(gst_avi_mux_do_buffer), (gst_avi_mux_do_one_buffer),
(gst_avi_mux_change_state):
* gst/avi/gstavimux.h:
* tests/check/elements/avimux.c: (teardown_src_pad):
Add support for more than one audio stream; write better AVIX
header; refactor code a bit; don't announce vorbis caps on our audio
sink pads since we don't support it anyway. Closes #379298.
2007-01-14 17:55:33 +00:00
Wim Taymans
5aadb77a1d gst/avi/gstavidemux.c: Fix docs.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Fix docs.
2007-01-09 12:25:26 +00:00
Stefan Kost
541a13d0e2 gst/avi/gstavimux.c: accept all mpegversions,fixes #380825 spotted by: Jerome Alet
Original commit message from CVS:
* gst/avi/gstavimux.c:
accept all mpegversions,fixes #380825
spotted by: Jerome Alet
2006-11-30 16:48:51 +00:00
Stefan Kost
90431d788e gst/avi/gstavidemux.c: remove dead code, tweak debugs statements, add comments, use _uint64_scale instead _uint64_sca...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_peek_chunk), (gst_avi_demux_parse_subindex),
(gst_avi_demux_read_subindexes_push),
(gst_avi_demux_read_subindexes_pull), (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_next_data_buffer),
(gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
remove dead code, tweak debugs statements, add comments, use
_uint64_scale instead _uint64_scale_int when using guint64 values,
small optimizations, reflow some error handling
2006-11-24 07:46:54 +00:00
Tim-Philipp Müller
6b16453ab4 gst/avi/gstavidemux.c: Initialise variable to get rid of bogus compiler warning.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_scan):
Initialise variable to get rid of bogus compiler warning.
2006-11-16 15:04:55 +00:00
Wim Taymans
90ef72e564 gst/avi/gstavidemux.c: Disable init_frames delay timestamp adjustment, it does not seem to be needed at all. Fixes #3...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Disable init_frames delay timestamp adjustment, it does not
seem to be needed at all. Fixes #369621.
2006-11-14 15:55:32 +00:00
Wim Taymans
92172d85bb gst/avi/gstavidemux.c: Use higher precision scale function.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
Use higher precision scale function.
2006-10-31 09:29:36 +00:00
Wim Taymans
c152d13c6a gst/avi/gstavidemux.c: Fix position query for audio. also fixes timestamps in streaming mode and bug #364958.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_parse_file_header),
(gst_avi_demux_stream_init_push), (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header_push), (gst_avi_demux_stream_data),
(gst_avi_demux_chain):
Fix position query for audio. also fixes timestamps in streaming
mode and bug #364958.
Small cleanups.
2006-10-28 16:37:20 +00:00
Josep Torra Valles
c4e7ebfe35 Fix a bunch of problems discovered by the Forte compiler, mostly type mixups and pointer arithmetics with void pointe...
Original commit message from CVS:
Patch by: Josep Torra Valles  <josep at fluendo com>
* ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_transform):
* ext/esd/esdsink.c: (gst_esdsink_write):
* ext/flac/gstflacdec.c: (gst_flac_dec_length),
(gst_flac_dec_read_seekable), (gst_flac_dec_chain),
(gst_flac_dec_send_newsegment):
* ext/flac/gstflacenc.c: (gst_flac_enc_seek_callback),
(gst_flac_enc_tell_callback):
* ext/jpeg/smokecodec.c: (find_best_size), (smokecodec_encode),
(smokecodec_parse_header), (smokecodec_decode):
* gst/avi/gstavimux.c: (gst_avi_mux_write_avix_index):
* gst/debug/efence.c: (gst_fenced_buffer_alloc):
* gst/goom/Makefile.am:
* gst/goom/gstgoom.c:
* gst/icydemux/gsticydemux.c: (gst_icydemux_typefind_or_forward):
* gst/rtsp/gstrtspsrc.c:
* gst/rtsp/rtspconnection.c: (rtsp_connection_read):
* gst/udp/gstudpsink.c:
* gst/udp/gstudpsrc.c:
* gst/wavparse/gstwavparse.c: (gst_wavparse_change_state):
* sys/sunaudio/gstsunaudiomixertrack.h:
Fix a bunch of problems discovered by the Forte compiler, mostly type
mixups and pointer arithmetics with void pointers. Fixes #362603.
2006-10-16 18:22:47 +00:00
Tim-Philipp Müller
82f5a3508c Printf format fixes.
Original commit message from CVS:
* ext/cairo/gsttimeoverlay.c:
(gst_cairo_time_overlay_update_font_height):
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_transform_caps):
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_parse_image_data):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain):
* ext/jpeg/gstsmokedec.c: (gst_smokedec_chain):
* ext/jpeg/gstsmokeenc.c: (gst_smokeenc_chain):
* ext/libpng/gstpngdec.c: (user_endrow_callback):
* gst/auparse/gstauparse.c: (gst_au_parse_parse_header):
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_data):
* gst/cutter/gstcutter.c: (gst_cutter_chain):
* gst/debug/efence.c: (gst_efence_buffer_alloc),
(gst_fenced_buffer_copy):
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start):
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send),
(gst_rtspsrc_handle_message):
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
* sys/ximage/ximageutil.c: (ximageutil_xcontext_get):
Printf format fixes.
2006-10-05 16:37:33 +00:00
Wim Taymans
aeec395c22 gst/avi/gstavidemux.c: Don't check for a tag that is never there and check if we read the correct tag. Fixes seeking ...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index):
Don't check for a tag that is never there and check if we read the
correct tag. Fixes seeking again.
We must post an error when all pads are unlinked.
2006-09-22 17:22:34 +00:00
Yves Lefebvre
805b8ba808 gst/avi/gstavimux.c: Correctly set the dwLength in strh.
Original commit message from CVS:
Patch by: Yves Lefebvre <ivanohe at abacom dot com>
* gst/avi/gstavimux.c: (gst_avi_mux_stop_file):
Correctly set the dwLength in strh.
With this patch, the file duration is now displayed correctly in window
media player and the AVI plays completely. Fixes #356147
2006-09-16 14:30:59 +00:00
Stefan Kost
13a332da30 gst/avi/gstavidemux.c: More code reuse and better logging in _peek_chunk(). Reintroduce check for chunk sizes before ...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_peek_chunk),
(gst_avi_demux_stream_index), (gst_avi_demux_sync),
(gst_avi_demux_stream_header_push),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
More code reuse and better logging in _peek_chunk(). Reintroduce check
for chunk sizes before reading them (avoid oom). Better handling for
invalid chunksizes when streaming.
2006-09-13 13:26:15 +00:00
Stefan Kost
4b7c760e11 gst/avi/gstavidemux.c: Revert one change to fix streaming avi (adapter size != data size).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull),
(gst_avi_demux_sync), (gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_data):
Revert one change to fix streaming avi (adapter size != data size).
2006-09-06 09:05:33 +00:00
Stefan Kost
ff1d81df67 gst/avi/gstavidemux.c: Initialze variables.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_next_data_buffer),
(gst_avi_demux_stream_scan):
Initialze variables.
2006-08-27 13:12:52 +00:00
Wim Taymans
bb82304826 gst/avi/gstavidemux.*: More attempts to turn this into readable code.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_finalize),
(gst_avi_demux_reset), (gst_avi_demux_index_last),
(gst_avi_demux_index_next), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_index),
(gst_avi_demux_stream_index), (gst_avi_demux_peek_tag),
(gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop),
(gst_avi_demux_chain), (gst_avi_demux_sink_activate),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
More attempts to turn this into readable code.
Don't leak adapters.
Calculate duration according to index more efficiently.
Don't try to act like we drive the pipeline in chain mode.
2006-08-25 16:21:37 +00:00
Stefan Kost
8ee132e9b4 gst/avi/gstavidemux.c: unbreak AVI index handling, some more debug, remove an obsolete adapter_flush that caused stre...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull),
(gst_avi_demux_sync), (gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_chain):
unbreak AVI index handling, some more debug, remove an obsolete
adapter_flush that caused streaming to wander off in the wild
2006-08-24 13:51:15 +00:00
Wim Taymans
bf6a231fab gst/avi/gstavidemux.*: Some more cleanups.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_stream), (gst_avi_demux_parse_odml),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull):
* gst/avi/gstavidemux.h:
Some more cleanups.
Fix totalFrames parsing in ODML.
Disable use of index for length calculation in case of ODML as this is
broken now.
2006-08-24 11:21:06 +00:00