Commit graph

606 commits

Author SHA1 Message Date
Sebastian Dröge
0a67d131b9 avimux: Revert 1a90a6c4 and drop Dirac support again
It does not work at all (A/V sync issues), is not very useful,
other containers work much better with Dirac and Dirac in AVI
is not supported by other software.

Fixes bug #541215.
2011-05-27 09:17:46 +02:00
Wim Taymans
d89790d545 Merge branch 'master' into 0.11
Conflicts:
	gst/avi/gstavidemux.c
	gst/rtp/gstrtpac3depay.c
	gst/rtp/gstrtpg726depay.c
	gst/rtp/gstrtpmpvdepay.c
	gst/videofilter/gstgamma.c
2011-05-24 17:34:19 +02:00
Mark Nauwelaerts
4cd2dac1da avidemux: ensure 0-padding when correcting dubious list size 2011-05-18 14:51:11 +02:00
Wim Taymans
a1894ed363 Merge branch 'master' into 0.11 2011-04-25 11:38:28 +02:00
David Schleef
bddac50961 avimux,matroskamux: Add stream-format to h264 caps
Fixes #606662.
2011-04-24 18:56:02 -07:00
Wim Taymans
a80f3a5d74 avi: use G_DEFINE_TYPE 2011-04-19 17:20:19 +02:00
Wim Taymans
7555d0949f Merge branch 'master' into 0.11
Conflicts:
	android/apetag.mk
	android/avi.mk
	android/flv.mk
	android/icydemux.mk
	android/id3demux.mk
	android/qtdemux.mk
	android/rtp.mk
	android/rtpmanager.mk
	android/rtsp.mk
	android/soup.mk
	android/udp.mk
	android/wavenc.mk
	android/wavparse.mk
	configure.ac
2011-04-18 10:23:45 +02:00
Tim-Philipp Müller
75d5c41f29 avidemux: fix 'variable may be used uninitialized' warnings caused by -DG_DISABLE_ASSERT 2011-04-17 01:29:01 +01:00
Tim-Philipp Müller
b6b59ab1c1 avidemux: fix unused-but-set-variable warning with gcc 4.6
Most likely a leftover from when the index parsing code was rewritten.
2011-04-13 17:22:19 +01:00
Thibault Saunier
b541208b77 android: Make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Wim Taymans
e6102a38c3 avi: more porting to 0.11 2011-04-05 11:13:36 +02:00
Wim Taymans
14b65031bc avi: port to 0.11 API 2011-04-04 19:17:43 +02:00
Mark Nauwelaerts
b02edfbfff avimux: use running time for synchronization
See bug #432612.
2011-03-22 20:55:27 +01:00
Mark Nauwelaerts
940417edc3 avidemux: ensure sane parameters when parsing superindex 2011-02-22 14:03:25 +01:00
Mark Nauwelaerts
d680842a7f avidemux: check for NULL audio stream format header when parsing stream 2011-02-22 14:03:23 +01:00
Edward Hervey
6e1c701502 Revert "Check that collectpads exists before removing pad"
This reverts commit 8e6b876e76.

Depends on a core commit that was reverted
2011-02-21 12:25:19 +01:00
David Schleef
8e6b876e76 Check that collectpads exists before removing pad
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:46:01 -08:00
Stefan Kost
367adf2b69 avidemux: stream->current_total is accumulated byte size and not time
Use timestamp for the stream index as well.
2011-02-18 10:14:32 +02:00
Stefan Kost
d8f29266e9 avidemux: also add the frame-type for the stream index 2011-02-17 17:57:42 +02:00
Stefan Kost
80d820ff29 avidemux: get the index writer id when the pad has a parent
Otherwise the index writer has a weired name, as the pad has no parent yet.
2011-02-17 17:56:29 +02:00
Stefan Kost
99e4bdd8f2 avidemux, flvdemux: formatting cleanup
Trim trailing whitespaces and fix the formatting of double negation.
2011-02-17 14:13:36 +02:00
Stefan Kost
ade128a002 avidemux, flvdemux: mark delta-units in the index
We need to use the 'delta' flag for delta units and not the 'none' flag.
2011-02-17 14:13:36 +02:00
Stefan Kost
1e034cb01f avimux: rework _request_new_pad to handle explict req-pad-names
Don't ignore explicit pad-names. Rearrange the code and the error handling a
bit. Add a FIXME-0.11 for the bad pad-names.
2011-02-16 17:15:27 +02:00
Mark Nauwelaerts
8d90dba55e avidemux: initialize local variable to please mingw32 compiler 2011-01-27 16:02:46 +01:00
Edward Hervey
c6b9f5b25a avidemux: Don't consider 0 fcc_handler as uncompressed.
Just avoids a warning
2011-01-24 18:30:57 +01:00
Tim-Philipp Müller
7d9b7abbd4 avisubtitle: set caps on srcpad to fix issue with discoverer
Set caps from the start so discoverer doesn't blow up on
seeing no negotiated caps between elements on preroll,
which might happen if no subtitle buffers have been
pushed yet at the time. See file from bug #603308.
2011-01-18 09:33:06 +00:00
Mark Nauwelaerts
a49a248fff avimux: set src pad caps when starting file
Fixes #639516.
2011-01-14 16:24:32 +01:00
Mark Nauwelaerts
e09e80eb2f avidemux: add workaround for buggy list size
Fixes truncated extra-data in hdrl/strl/strf due to buggy containing
list size not accounting for padding in contained chunks.
2010-12-03 15:50:30 +01:00
Edward Hervey
13ef2ccc97 avidemux: Parse more variants of numerical IDIT tag 2010-12-03 15:38:00 +01:00
Edward Hervey
86933b40e9 avidemux: Also extract IDIT tags present too early
https://bugzilla.gnome.org/show_bug.cgi?id=636143
2010-12-03 12:13:34 +01:00
Edward Hervey
0cff917a51 avidemux: Also emit DateTime tag
https://bugzilla.gnome.org/show_bug.cgi?id=636143
2010-12-03 12:13:34 +01:00
Stefan Kost
d8167e3071 various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
Mark Nauwelaerts
8d69663026 avidemux: reverse playback; prevent overlap of subsequent fragments 2010-09-29 11:00:08 +02:00
Sebastian Dröge
1ce0b2dfc7 avidemux: Don't use GST_FLOW_IS_FATAL()
And document why wrong-state doesn't need an error message.
2010-09-04 14:52:09 +02:00
Sebastian Dröge
44a5cb4313 avidemux: Send close newsegment event from the streaming thread 2010-09-04 14:52:06 +02:00
Mark Nauwelaerts
99dd8fb921 avidemux: push mode; use proper movi offset for movi based index
Fixes #623357.
2010-07-29 17:19:22 +02:00
Mark Nauwelaerts
f62c6ce5c8 avidemux: push mode; handle 0-size data chunks
Fixes #618535.
2010-07-22 11:46:51 +02:00
Mark Nauwelaerts
7955c01f19 avidemux: additional verification heuristics for VBR audio stream
Check for and override some header field(s) for reasonable values, according
to later expected use in calculations.
2010-07-16 13:58:12 +02:00
Michael Grzeschik
b26785d9f9 reset the have_index flag at transition PAUSED_TO_READY
If we restart the Stream in the case of doing a transition from
PAUSED_TO_READY and back with READY_TO_PAUSED aso. the duration of the video
will get calculated even if we have a avi header with that information.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
2010-06-23 21:40:50 +02:00
Mark Nauwelaerts
a69e419c8e avidemux: improve audio vbr detection
Subsequent entry time calculations use blockalign value to determine
number of frames per chunk, and blockalign == 1 is then most unlikely to result
in reasonable values (which also aligns with "spec").
2010-06-16 15:53:47 +02:00
Sebastian Dröge
e49d8a286b avidemux: Assign variables before printing them 2010-06-15 20:04:35 +02:00
Mark Nauwelaerts
de5cb168ee avimux: fix avi header bytewriting
... by using proper offsets for tag list writing.
Also use _reset rather than _free and consistently use bytewriter position.

See #619293.
2010-06-11 10:57:41 +02:00
Mark Nauwelaerts
53365b91e6 avimux: clean up code for avi header using a bytewriter
https://bugzilla.gnome.org/show_bug.cgi?id=619293
2010-06-02 14:20:26 +02:00
Tim-Philipp Müller
d51576b14c Revert "avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time"
This reverts commit 6a9983cd20.

Rely on locking done in GstTagSetter in core git.
2010-06-01 09:39:38 +01:00
Tim-Philipp Müller
6a9983cd20 avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time
This is a temporary fix for the release only.

Fixes #619533.
2010-05-26 00:05:54 +01:00
Sebastian Dröge
d1842481c1 avimux: Add support for On2 VP8
...avidemux automatically supports it through libgstriff.
2010-05-17 17:18:24 +02:00
Mark Nauwelaerts
5ae7119d11 avimux: check that pads have been negotiated
Also set fcc_handler field in audio stream header.

Fixes #618351.
2010-05-11 13:58:03 +02:00
Stefan Kost
e7a5ff40bd docs: trim sections file more
Rename some defines and move some itesm to *.c files. Add more items to internal
subsection.
2010-04-08 12:14:07 +03:00
Thijs Vermeir
d17ad171c9 build: fix compiler warnings
fix warnings for all plugins that use: setlocale (LC_ALL...
2010-04-07 13:48:12 +02:00
Thijs Vermeir
1e5bb1c300 avi: fix compiler warning 2010-04-07 13:32:09 +02:00
Mark Nauwelaerts
d654eeb6de avidemux: fix typo in header validation check 2010-03-25 11:40:20 +01: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
073201b329 build: Makefile.am cleanups
Mostly add $(GST_BASE_CFLAGS) where it was missing, but also fix up
order of flags and libs if needed (see docs/random/moving-plugins).
2010-03-18 21:34:24 +00:00
Benjamin Otte
cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Benjamin Otte
46fdd8b624 avi: Remove old file
Seems to be leftover from the 0.4 days or so.
2010-03-18 14:32:00 +01:00
Mark Nauwelaerts
abd9c0c657 avidemux: fix typo in header validation check 2010-03-18 11:37:12 +01:00
Edward Hervey
c4d55cf782 avidemux: Fix unitialized variable. 2010-03-11 17:04:41 +01:00
Mark Nauwelaerts
c007d8535c avidemux: ignore stream with invalid header time metadata 2010-03-11 15:04:19 +01:00
Michael Smith
c3b0509beb avimux: put the codec_data blob into the actual data for MPEG4 video,
to match other implementations in the wild.
2010-03-10 10:40:47 -08:00
Mark Nauwelaerts
1a60c7b040 avidemux: push mode; also report seekable without an element index
... since recent code also seeks around to obtain required data
from avi index.
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
3a1a140e2d avidemux: add some check and standardized seek event handling in push mode 2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
d90aed1857 avidemux: fix offset handling in push mode seeking
Push mode seeking uses same index data as pull mode, and stores
offset to data in chunk, whereas push mode operates in chunks,
and as such needs offset consistently corresponding to chunk headers.
Also fix determining best matching stream for incoming newsegment event,
as well as setting some stream state accordingly.
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
172c0c6a6a avidemux: reset some more stream state after seek
In particular, fixes non-flushing seek.
2010-02-16 15:03:59 +01:00
Robert Swain
dd23397b4f avidemux: Drop video frames up to the desired keyframe after a seek
The audio packets in AVI are generally muxed ~0.5s before the
corresponding video packet. This changes causes downstream to only
receive packets with roughly corresponding timestamps.
2010-02-12 15:56:18 +01:00
Wim Taymans
1175d0698c avidemux: more DISCONT handling
Add some debug in the DISCONT handling code.
When we receive a DISCONT in push mode, mark all streams as DISCONT.
2010-02-12 15:56:18 +01:00
Robert Swain
0011c9b0da avidemux: Fix _handle_seek_push () and new segement behaviour 2010-02-12 15:56:18 +01:00
Wim Taymans
2ce79998a1 avidemux: cleanups
Make sure we reset the demuxer correctly wrt parsing the index.
Don't leak pending seek events.
Rename some methods to reflect what they do and to avoid confusion with similar
method names.
Try to make the seeking threadsafe by protecting the setup code with a lock.
Make sure we post errors when a seek fails.
2010-02-12 15:56:18 +01:00
Wim Taymans
e6cc145352 avidemux: rename some variables
seek_event -> seg_event
event_seek -> seek_event
2010-02-12 15:56:18 +01:00
Wim Taymans
784d888cb2 avidemux: take fallback duration from avih
When we have not parsed any indexes yet, we don't know the length of the streams
and we must take the length given in the avih as a fallback.
Avoid some typechecking.
2010-02-12 15:56:18 +01:00
Robert Swain
3e1ed0c727 avidemux: Push mode seeking support 2010-02-12 15:56:18 +01:00
Stefan Kost
ef343d8ad9 avi,wav: also handle JUNQ chunk in addition to JUNK 2010-02-12 15:35:30 +02:00
Wim Taymans
01f0a5ce32 avidemux: ignore streams that finished
When we receive an UNEXPECTED from a stream, move to the next stream and only go
EOS when all streams are EOS. When selecting a stream to push, ignore streams
that went EOS.

Fixes #607949
2010-01-26 11:22:56 +01:00
Wim Taymans
7d39f8e5bb avidemux: don't parse NULL indexes
for some streams we might fail to fetch the index offsets. Don't try to parse
NULL indexes in those cases.
2010-01-21 17:59:25 +01:00
Wim Taymans
afc3c674c0 avidemux: skip RIFF and index in push mode
When we are in push mode, we can encounter RIFF and idx tags in the data chunk
when we are dealing with ODML files. In these cases, simply skip the chunks and
continue streaming instead of going EOS.
2010-01-20 11:47:04 +01:00
Wim Taymans
570319822a avidemux: more DISCONT handling
Add some debug in the DISCONT handling code.
When we receive a DISCONT in push mode, mark all streams as DISCONT.
2010-01-20 11:47:04 +01:00
Wim Taymans
40e3b0189a avidemux: reset on flush events
When we receive a flush event on the sinkpad, reset the EOS state and the
flowreturn of all streams. Also mark the streams with a DISCONT.
2010-01-20 11:47:03 +01:00
Wim Taymans
183d450113 avidemux: rename some variable
Rename the seek_event variable to seg_event because it really contains the
newsegment event that needs to be pushed.
2010-01-20 11:47:03 +01:00
Wim Taymans
fb716a6250 avidemux: avoid some typecasting 2010-01-15 18:15:14 +01:00
Wim Taymans
592b440911 avidemux: avoid some type checks 2010-01-15 18:13:24 +01:00
Wim Taymans
d4301d900f avidemux: fallback to avih duration
when we have not yet parsed the indexes (in push mode, for example) use
the duration as given in the avih header instead of -1.
2010-01-15 18:09:15 +01:00
Stefan Kost
7e3783cbac avi: add missing include for sscanf 2010-01-13 16:44:58 +02:00
Thiago Santos
5975b01b01 avimux: matroskamux: rename aac's stream-format to raw
AAC's none stream-format has been renamed to raw, rename
on avimux and matroskamux as well
2010-01-11 13:26:32 -03:00
Thiago Santos
bacd350483 avimux: Only accept raw aac
makes avimux reject aac streams that are not
in raw format (stream-format=none)

Fixes #598350
2010-01-11 12:32:27 -03:00
Thiago Santos
8e84d457b2 avidemux: Use more glib and be safer
Be safer on sscanf by limiting string format sizes.
Remove useless parameter and use g_strndup.
2010-01-08 11:33:02 -03:00
Thiago Santos
c0e184641a avidemux: Simplifying code
Greatly simplify the IDIT chunk handling by using sscanf
instead of 'manually' parsing. Also replaces strncasecmp and
is_alpha/is_digit with glib versions.
2010-01-08 10:51:17 -03:00
Thiago Santos
7024ce14cf avidemux: it's feb for february
Fix typo in last commit.
2010-01-08 10:18:30 -03:00
Thiago Santos
a5197a94ee avidemux: Parse and post IDIT dates
Parses and post date tags contained in IDIT chunks.

Fixes #503582
2010-01-08 09:17:22 -03:00
Stefan Kost
fd9530d2d5 avimux: fix typo in warning message 2010-01-05 00:12:44 +02:00
Tim-Philipp Müller
1b786258c2 avidemux: minor debug message changes
Fix up a few debug messages so that it's clearer what they mean.
2009-12-13 12:51:13 +00:00
Wim Taymans
ee6d7fd2db avidemux: init current_entry in push mode
Set the current_entry to 0 (instead of -1) in push mode so that we correctly
calculate the current frame number and timestamp.

Add some more debug info and fic the duration debug.
2009-12-04 13:52:49 +01:00
Thiago Santos
b59dc3e5fb avimux: also set the suggested buf size for audio
We were only setting the suggested buf size for video,
we can set it for audio as well.

This and 195e14529d80ef318ce3a778c1995efb11f266cd
fix an issue that prevented seeking on large avi files
on WMP (non-recent versions).
2009-11-24 12:44:57 -03:00
Thiago Santos
831b1e958a avimux: fix indx duration for PCM audio
GstBuffers for PCM audio usually contains more than
1 sample, we need to get the total number of samples to set
the indx duration.
2009-11-24 12:44:56 -03:00
Thiago Santos
8dd78015f1 avimux: Audio buffers should be picked earlier
Adds a 0.5s advantage for audio buffers to being
picked earlier for muxing.
2009-11-24 12:44:56 -03:00
Thiago Santos
feed8c2af3 avimux: do not write empty INFO list
avoid writing an empty INFO list chunk, both because
it is useless and because vlc refuses to play the
resulting file.
2009-11-05 12:31:56 -03:00
Wim Taymans
0c12f585e3 avidemux: use segment_full when we can
Use segment_full so that we can pass the applied rate to the segment values. We
will change the applied rate when we implement skip mode.
2009-10-27 18:07:18 +01:00
Michael Smith
b0b54d9324 Add dependencies of gstriff to things that link to gstriff, needed on Win32. 2009-10-23 18:09:43 -07:00
Tim-Philipp Müller
457ac565ba avidemux: fix compilation with debugging disabled
total_idx is always evaluated.
2009-10-22 02:09:08 +01:00
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