Alex Ashley
46a137c810
Avoid skipping moov atoms for fragmented MP4 files.
...
bug #700505
Following a representation change that causes a resolution change,
the video decoder fails to decode correctly. Dashdemux detects the
representation change and pushes a new caps event and an
initialization segment (a new moov atom) to the downstream qtdemux,
but it doesn't handle this new moov yet, it will only parse the
first one it receives.
This commit changes qtdemux to accept a new moov in a dash bitstream
switching scenario.
2013-06-19 01:44:22 -03:00
Thiago Santos
384e8f6c34
qtdemux: send stream-start only once for each stream
...
Do not send stream start again when reconfiguring a pad for new caps.
That is common for adaptive streams
2013-06-19 00:55:30 -03:00
Sebastian Dröge
adc9f0bd10
qtdemux: Do allocation query after exposing all pads and no-more-pads
...
Also configure video streams as early as possible.
Related https://bugzilla.gnome.org/show_bug.cgi?id=701856
but not fixing that.
2013-06-11 12:27:19 +02:00
Thiago Santos
7c12435f9b
qtdemux: make sure taglist is writable before adding tags
...
Avoids assertions
2013-06-02 15:37:06 -03:00
Thiago Santos
78dfdee2aa
qtdemux: effectively skip tracks that weren't listed on the 1st moov
...
Without this, stream is NULL and the code will try to access it, leading
to segfaults.
2013-06-02 13:06:15 -03:00
Thiago Santos
70fca21c28
qtdemux: skip redundant check
...
!got_moov is already checked the line above
2013-06-02 13:06:15 -03:00
David Schleef
318cd39c3e
qtdemux: Add error if file has playready drm
2013-05-21 18:21:49 -07:00
Thiago Santos
55caa99ccd
qtdemux: Do not expect EOS after a segment event if upstream is mss
...
In case qtdemux is handling a mss stream, do not mark the stream to wait
for EOS after a segment. Even if it seems to be the last one according to
the current streams information.
MSS handling is different here because there is another demuxer driving
the pipeline
2013-05-16 16:50:49 -03:00
Thiago Santos
5517e352ab
qtdemux: only set channels and rate if qtdemux knows it
...
Setting both of those to 0 is pointless and means that qtdemux
doesn't know the real value. Avoid setting it in this case.
2013-05-16 16:50:49 -03:00
Arnaud Vrac
6edcc564ba
qtdemux: set alac caps using info from codec buffer
...
The samplerate field in the STSD atom is not right for some ALAC files
(usually when audio is 96kHz/24bits), so the audio caps must be
extracted from the codec data.
https://bugzilla.gnome.org/show_bug.cgi?id=700382
2013-05-15 18:42:11 +01:00
Thiago Santos
a0e934e72e
qtdemux: push new caps events when caps change
...
Whenever the demuxer has a new caps on a stream, it should set the
new_caps variable to true and a new caps event will be pushed before
the next buffer
2013-05-07 19:29:17 -03:00
Thiago Santos
725faab590
qtdemux: do not push discont buffers if they aren't discont
...
qtdemux takes its buffers from a GstAdapter. Those buffers are created
from the larger buffer that it obtained from upstream and they carry
the same flags, including DISCONT if it is set. In these cases, all
buffers that qtdemux is going to push would be marked as DISCONT.
This scenario can make parsers/decoders flush on every buffer leading
to no decoding at all hapenning. This patch prevents this by unsetting
the flag if it shouldn't be set.
2013-05-07 19:29:17 -03:00
Thiago Santos
4d073beeee
qtdemux: some code cleanup for mss handling code
...
* Explicitly init variables for fragmented formats at init
* Do not use GstClockTime type if the variable isn't a timestamp
* Fix a style/readability issue at an if block
* Group 2 mss mode conditional blocks together to improve readability
Conflicts:
gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Thiago Santos
d1b91c755c
qtdemux: avoid storing non-time newsegments to push later
...
This can confuse downstream when they get a byte segment after receiving
the natural time segment from qtdemux that it sends when starting to
push buffers. This is specially the case with parsers that try to
convert the position from byte to time format and might miss the
correct position for playback to start.
2013-05-07 19:29:17 -03:00
Thiago Santos
895525b5cb
qtdemux: avoid setting fields to non-writable caps
2013-05-07 19:29:17 -03:00
Wim Taymans
544d926732
qtdemux: don't send so many segment events
...
Only send one segment event in the beginning of the stream, not
after each moov and moof atom.
Conflicts:
gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Wim Taymans
d9cd4fcc17
qtdemux: place incomming timestamps on output
...
Place the incomming timestamp (if any) directly onto the outgoing buffers
and interpollate other timestamps.
Conflicts:
gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Thiago Santos
cca2f555d1
qtdemux: improve reset of internal status
...
Reset different variables on state changes to ready and when
handling a flush-stop. For handling flush stops we should check
if there is an upstream adaptive demuxer driving the pipeline as this
means that qtdemux will get a new moov atom. For 'standard' isomedia
streams this isn't true and qtdemux should keep the previous moov
information around.
Conflicts:
gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Thiago Santos
6c69e59677
qtdemux: prepare qtdemux to accept multiple dash moovs in a row
...
Whenever dashdemux switches bitrates it sends a new moov with the
new stream configuration. qtdemux should now handle this by splitting
the exposing and configuration of streams into separate functions. When
the stream is new it is configured and exposed, when it is a new bitrate
of an existing stream it is only reconfigured.
Conflicts:
gst/isomp4/qtdemux.c
2013-05-07 19:25:30 -03:00
Andre Moreira Magalhaes (andrunko)
2a7d3d1598
qtdemux: Move FLUSH_STOP/PAUSED_TO_READY handling to a reset method.
...
Conflicts:
gst/isomp4/qtdemux.c
2013-05-07 19:18:03 -03:00
Louis-Francis Ratté-Boulianne
d499b461da
qtdemux: Remove old pads when exposing streams and other general fixes.
...
Conflicts:
gst/isomp4/qtdemux.c
2013-05-07 19:18:03 -03:00
Thiago Santos
a3c19eeea1
qtdemux: handle mss streams
...
smoothstreaming streams should be handled as a special kind of
fragmented isomedia. In MSS the fragments will not contain a
'moov' atom with the media descriptions, this has to be extracted
from the caps.
Additionally, there should be another demuxer upstream that is likely
going to be the one to answer/act on queries and events, so qtdemux has
to forward those upstream.
2013-05-07 19:18:03 -03:00
Yury Delendik
4bc06859d1
qtdemux: add support for VP6F VP6 flash codec
...
https://bugzilla.gnome.org/show_bug.cgi?id=699010
2013-04-27 09:39:45 +01:00
David Schleef
a55ccff854
qtdemux: check value inside enda to set endianness
2013-04-09 13:30:17 -07:00
David Schleef
53f8b05b08
Use %03u for format in gst_pad_create_stream_id_printf()
2013-03-25 18:57:08 -07:00
Matej Knopp
f29e62c131
qtdemux: make empty subtitle buffer recognition more robust
...
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-23 11:24:23 +00:00
David Schleef
5bd2864101
qtdemux: split large raw audio samples
...
In order to deal with a file that has samples that are 24 seconds
long. Seeking still doesn't work with such files.
2013-03-22 14:14:05 -07:00
Rodolfo Schulz de Lima
874808fd2c
qtdemux: fix sample leak when processing private qt tags
...
https://bugzilla.gnome.org/show_bug.cgi?id=696355
2013-03-22 08:47:17 +00:00
Matej Knopp
49d9050e9a
qtdemux: send GAP events for subtitle streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-21 10:03:37 +00:00
Matej Knopp
516a0b8acb
qtdemux: ignore empty subtitle buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-21 10:03:34 +00:00
Matej Knopp
f494635126
qtdemux: recognize SBTL subtype for subtitles
...
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-21 10:03:14 +00:00
Tim-Philipp Müller
677bfecc6f
qtdemux: add variant field to H.263 caps
...
avdec_h263 won't get plugged otherwise.
2013-03-02 13:59:52 +00:00
Arnaud Vrac
1cff6427f1
qtdemux: skip disabled tracks
...
ISO/IEC 14496-12 specifies disabled tracks should be completely
ignored, so just do it.
Avoids deadlock during prerolling for some files.
Also prevents 'chapter' subtitle tracks from showing up.
https://bugzilla.gnome.org/show_bug.cgi?id=693993
https://bugzilla.gnome.org/show_bug.cgi?id=628790
2013-03-02 13:54:23 +00:00
Tim-Philipp Müller
5b19be933b
qtdemux: fix up dodgy code that tries to fix up a broken moov atom
...
After gst_buffer_new_and_alloc() gst_buffer_copy_into() will likely
append to the already-existing memory instead of filling it.
2013-02-18 20:04:05 +00:00
Tim-Philipp Müller
34b81f7c93
qtdemux: fix potential crash on short MOOV atom
...
Don't unmap short MOOV atom buffer twice, which happened
in the case where we don't fix up the MOOV atom.
Fixes crashes when thumbnailing partial mp4 file where
the MOOV atom is still incomplete.
https://bugzilla.gnome.org/show_bug.cgi?id=694010
2013-02-18 16:35:08 +00:00
Michael Smith
e3430b0d07
qtdemux: extract codec_data for ProRes
2013-02-12 13:19:53 -08:00
Youness Alaoui
f6a00ad6e9
qtdemux: set interleaved layout correctly for LPCM audio
...
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:44:01 +00:00
Youness Alaoui
a76524ea08
qtdemux: add support for LPCM fourcc (uncompressed audio in Quicktime7)
...
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:57 +00:00
Youness Alaoui
69b814546a
qtdemux: print all debug for sound sample description v2
...
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:49 +00:00
Youness Alaoui
92ff8a9b09
qtdemux: sound sample description v2 doesn't override samples_per_packet
...
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:42 +00:00
Youness Alaoui
ee3d9cbd98
qtdemux: pass stsd data to qtdemux_audio_caps()
...
We will need that later for LPCM format support. Disable
QDM2 parsing of stsd data which dead code before as well
because data was always NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:38 +00:00
Youness Alaoui
6d3ff78575
qtdemux: add len check for sound sample descriptions v1 and v2
...
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:28 +00:00
Mark Nauwelaerts
a1a579afeb
qtdemux: push mode: only parse moov 1 once
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691570
2013-01-27 12:54:20 +01:00
Tim-Philipp Müller
314efb684b
qtdemux: avoid criticals if unknown fourcc has space at beginning or end
...
https://bugzilla.gnome.org/show_bug.cgi?id=682936
2012-11-25 14:16:09 +00:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Michael Smith
a88caf84b4
qtdemux: read video format header fully (so we can find 'pasp' atoms) for more fourccs.
...
Fixes aspect ratio of prores files.
2012-10-25 12:18:50 -07:00
Arnaud Vrac
bc79fe565c
qtdemux: use correct type for channel-mask bitmask
...
Fixes crash on 32-bit systems.
2012-10-24 12:54:08 +01:00
Michael Smith
150bd97e96
qtdemux: with raw audio, set a default channel-mask for multichannel audio.
...
This doesn't actually parse 'chan' because it's absurdly complex.
2012-10-22 22:34:43 -07:00
Wim Taymans
199aaa4021
qtdemux: add support for 'generic' samples
...
Add support for stuffing a complete stream into 1 sample.
See https://bugzilla.gnome.org/show_bug.cgi?id=686550
2012-10-22 11:39:37 +02:00
Tim-Philipp Müller
aa3ba65eb5
qtdemux: don't leak gst_riff_strf_auds in case of MS/RIFF audio
...
https://bugzilla.gnome.org/show_bug.cgi?id=681192
2012-10-19 19:26:45 +01:00
Tim-Philipp Müller
e9682b938a
qtdemux: don't assert if upstream size is not available when guessing bitrates
...
Fixes abort in push mode where the source is not seekable and the
size of the file is not available, as with
cat foo.mp4 | gst-launch-1.0 playbin uri=fd://0
Less noticable with releases, since we disable all
g_assert() there.
https://bugzilla.gnome.org/show_bug.cgi?id=686008
2012-10-13 00:08:01 +01:00
Michael Smith
d60c9ce2a4
qtdemux: support more different fourcc values for other ProRes variants.
2012-10-12 14:35:49 -07:00
Michael Smith
1026970347
qtdemux: 24 bit audio here is S24LE, not S24_3LE.
2012-09-20 18:01:52 -07:00
Michael Smith
4f015c594c
qtdemux: add support for prores
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683839
2012-09-12 10:18:53 +02:00
Mark Nauwelaerts
f12ef67f56
ext, gst: only activate in pull mode if upstream is seekable
2012-09-11 17:44:51 +02:00
Wim Taymans
a374217786
qtdemux: don't reset segment
...
Don't reset the segment because we need the values for accumulation. the segment
is reset at start and after a flushing seek. Fixes some problems with files with
quicktime segments.
2012-09-11 11:59:54 +02:00
Tim-Philipp Müller
6dc7b4c3c7
video/x-3ivx and video/x-xvid -> video/mpeg,mpegversion=4
...
If it ever turns out that we really must use thoe specific
fourccs and not the generic one, we can still add a flavor
field to the caps later.
2012-09-10 00:43:24 +01:00
Tim-Philipp Müller
fb0f3c17f5
text/plain + text/x-pango-markup -> text/x-raw
2012-09-02 02:50:50 +01:00
Mark Nauwelaerts
e523b42d41
qtdemux: port segment event creation to 0.11
2012-08-28 19:01:11 +02:00
Mark Nauwelaerts
748304ced7
qtdemux: release extra event ref when replacing pending newsegment event
2012-08-28 16:28:29 +02:00
David Corvoysier
d0eed20428
isomp4: add DASH tfdt box support
...
MPEG DASH has defined a set of new boxes to specify duration, indexes and
offsets of ISOBMFF fragments.
The Track Fragment Base Media Decode Time (tfdt) Box can in particular be
included inside a traf box to specify the absolute decode time, measured on the
media timeline, of the first sample in decode order in the track fragment.
This information can be used by the isomp4 demux to find out the current position of
an MP4 fragment in the timeline.
This patch adds code to isomp4 to:
- parse the tfdt box
- adjust the time/position member of the new segment sent when playback starts
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677535
2012-08-28 16:28:27 +02:00
Tim-Philipp Müller
4bb52bbadf
docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert
2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
bce47066ca
video/x-dvd-subpicture -> subpicture/x-dvd
2012-08-20 23:30:38 +01:00
Sebastian Dröge
7b5925b5a4
gst: Add stream-id to stream-start events
2012-08-06 13:43:57 +02:00
Tim-Philipp Müller
c074bfd0b9
gst_tag_list_free -> gst_tag_list_unref
2012-08-04 16:10:16 +01:00
René Stadler
75ee20ec67
qtdemux: fix double unref of private tag buffer
2012-08-01 12:16:41 +02:00
Sebastian Dröge
0827f54b93
tag: Update for taglist/tag event API changes
2012-07-28 00:19:51 +02:00
Mark Nauwelaerts
dd25411161
qt(de)mux: pass private blob tags in a sample
...
... rather than a buffer, and the detailed info in the sample info
rather than caps.
2012-07-27 12:12:13 +02:00
Mark Nauwelaerts
7247d136e5
qtdemux: properly transform incoming segment event
...
... which is really useful for proper push mode seeking.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680278
2012-07-20 13:35:29 +02:00
Edward Hervey
f063e40af7
demux: Push STREAM_START event when needed
2012-07-13 13:51:48 +02:00
Wim Taymans
2052cabdc4
fix for allocator API changes
2012-07-09 16:28:41 +02:00
Sebastian Dröge
aeafc3a093
gst: Implement segment-done event
2012-07-05 13:13:09 +02:00
David Corvoysier
c06cb7c145
isomp4: Try to seek upstream before processing seek push event
...
When it receives a seek in push mode, the qtdemux should first try to push the event upstream, and only if upstream fails fall back to
its own seek logic.
2012-06-28 14:44:58 +02:00
David Corvoysier
998534a2a1
isomp4: Allow duration queries to be forwarded upstream
...
When receiving a duration query for TIME format, try to query upstream, and only if upstream fails fall back to qtdemux duration handling.
2012-06-28 14:44:58 +02:00
Wim Taymans
30d3dfee36
update for task api change
2012-06-20 10:33:42 +02:00
Wim Taymans
b5df4f0e62
update for tag event change
2012-06-06 13:02:12 +02:00
Wim Taymans
b8c08838bb
qtdemux: set the palette size correctly
2012-05-31 13:44:46 +02:00
Alban Browaeys
a56361623c
isomp4: set layout=interleaved on raw audio caps
...
This fixes a not-negotiated error at least on mov files with
twos audio with two channels and video dvcp. As playbin and gst-launch
sample coming from the qtdemux.c file uses audioconvert and the latter
require format interleaved.
https://bugzilla.gnome.org/show_bug.cgi?id=675326
2012-05-03 23:28:50 +01:00
Edward Hervey
97591c1e77
isomp4: Check return value of GstByteWriter
...
And use unchecked variant of GstByteReader where applicable
2012-04-12 15:48:57 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Wim Taymans
3d61d12e03
update for buffer api change
2012-03-30 18:15:34 +02:00
Wim Taymans
69002aa24f
update for buffer changes
2012-03-28 12:53:05 +02:00
Wim Taymans
b8869d285b
qtdemux: negotiate an allocator on the srcpads
...
We do an ALLOCATION query to find out an allocator and parameters on the
srcpads. This way decoders (and sinks) can specify the memory and parameters
they want us to write into.
2012-03-19 10:33:48 +01:00
Wim Taymans
513d480fbf
don't pass random pointers to pull_range
2012-03-16 21:47:21 +01:00
Wim Taymans
ecaea36c3d
update for memory api changes
2012-03-15 13:36:17 +01:00
Wim Taymans
0525fa1850
qtdemux: set DTS and PTS on output buffers
...
Set PTS and DTS on output buffers instead of just the PTS. In streaming cases
you want to synchronized encoded data based on the DTS because that is
monotonically increasing.
2012-03-13 17:54:50 +01:00
Wim Taymans
ca9532ccc5
update for new memory api
2012-02-22 02:10:33 +01:00
Wim Taymans
9365f12d6e
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:43:30 +01:00
Vincent Penquerc'h
4d73fe793a
Revert "qtdemux: fix GstDateTime/GDateTime mixup"
...
This reverts commit 5326126112
.
The GstDateTime->GDateTime change in core was apparently accidental,
and is now reverted.
2012-01-26 18:26:02 +00:00
Vincent Penquerc'h
5326126112
qtdemux: fix GstDateTime/GDateTime mixup
2012-01-26 17:52:30 +00:00
Wim Taymans
583d39dd8d
update for new memory API
2012-01-25 12:30:28 +01:00
Wim Taymans
1584806634
port to new gthread API
2012-01-19 11:33:53 +01:00
Sebastian Dröge
93e3ed5a86
Merge branch 'master' into 0.11
...
Conflicts:
ext/cairo/gsttextoverlay.c
ext/pulse/pulseaudiosink.c
gst/audioparsers/gstaacparse.c
gst/avi/gstavimux.c
gst/flv/gstflvmux.c
gst/interleave/interleave.c
gst/isomp4/gstqtmux.c
gst/matroska/matroska-demux.c
gst/matroska/matroska-mux.c
gst/matroska/matroska-mux.h
gst/matroska/matroska-read-common.c
gst/multifile/gstmultifilesink.c
gst/multipart/multipartmux.c
gst/shapewipe/gstshapewipe.c
gst/smpte/gstsmpte.c
gst/udp/gstmultiudpsink.c
gst/videobox/gstvideobox.c
gst/videocrop/gstaspectratiocrop.c
gst/videomixer/videomixer.c
gst/videomixer/videomixer2.c
gst/wavparse/gstwavparse.c
po/ja.po
po/lv.po
po/sr.po
tests/check/Makefile.am
tests/check/elements/qtmux.c
tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Mark Nauwelaerts
43986a661d
qtdemux: initialize variable to avoid undefined use
2012-01-09 11:38:15 +01:00
Sebastian Dröge
940807b79b
isomp4: Port to the new audio caps
...
Still needs to handle the channel positions/masks and
channel reordering.
2012-01-05 10:30:33 +01:00
Wim Taymans
5fd2b7abe3
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:26:21 +01:00
Tim-Philipp Müller
aeb69c188b
qtdemux: update for GstIndex removal
2011-12-30 17:23:43 +00:00
Mark Nauwelaerts
ed3f89fad5
qtdemux: increase parse tolerance for fuzzy file cases
2011-12-12 15:23:33 +01:00
Tim-Philipp Müller
b8b8454bcb
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Wim Taymans
f1558baf83
update for tag API changes
2011-12-01 18:55:45 +01:00
Wim Taymans
c36325f0aa
Update for indexable change
2011-11-28 18:25:52 +01:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Matej Knopp
1e5dd9e315
Fix printf format compiler warnings on OS X / 64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Wim Taymans
f8e988a94c
update for activation changes
2011-11-21 13:37:01 +01:00
Wim Taymans
6e4fb21331
update for new scheduling query
2011-11-18 17:59:16 +01:00
Wim Taymans
b7aa7bca52
add parent to activate functions
2011-11-18 13:57:20 +01:00
Wim Taymans
0a43cfedef
qtdemux: activate pad before setting caps
...
Seting caps on an inactive flushing pad does nothing.
2011-11-17 17:36:05 +01:00
Wim Taymans
105650127e
add parent to pad functions
2011-11-17 15:02:55 +01:00
Wim Taymans
6190312214
add parent to query function
2011-11-16 17:27:13 +01:00
Wim Taymans
e7918a5aba
_query_peer_*() -> _peer_query_*()
2011-11-15 18:04:44 +01:00
Wim Taymans
7e12b58e37
update for adapter api changes
2011-11-10 18:32:58 +01:00
Wim Taymans
95f3987332
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacdec.c
gst/audioparsers/gstflacparse.c
gst/isomp4/qtdemux.c
2011-11-09 12:18:01 +01:00
Wim Taymans
49658dd5b5
remove query types
2011-11-09 11:53:01 +01:00
Mark Nauwelaerts
9c3516116a
qtdemux: minimal sanity check on creation datetime
2011-11-09 10:33:18 +01:00
Mark Nauwelaerts
4946cc5e7f
qtdemux: also set segment stop at startup rather than only post seek
...
... so as to ensure consistent playback with or without seek, especially
in presence of some bogus edit list entries.
2011-11-08 14:58:09 +01:00
Wim Taymans
a19a4a69ae
more template fixes
2011-11-04 13:12:37 +01:00
Tim-Philipp Müller
9cd17092d8
ext, gst: update for taglist API changes
2011-10-30 11:44:53 +00:00
Wim Taymans
d40e915449
Merge branch 'master' into 0.11
2011-10-28 16:52:08 +02:00
Mark Nauwelaerts
96fc28eacd
qtdemux: elaborate some debug statements
2011-10-28 12:31:17 +02:00
Tim-Philipp Müller
b0f43f43d4
qtdemux: fix compiler warnings after gst_caps_new_simple() change
2011-10-28 09:06:28 +01:00
Wim Taymans
87fbd1e784
Merge branch 'master' into 0.11
...
Conflicts:
common
ext/pulse/pulsesink.c
ext/soup/gstsouphttpclientsink.c
gst/audioparsers/gstaacparse.c
gst/audioparsers/gstac3parse.c
gst/rtp/gstrtph264depay.c
gst/rtpmanager/gstrtpjitterbuffer.c
gst/rtpmanager/rtpjitterbuffer.c
gst/rtsp/gstrtspsrc.c
sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Mark Nauwelaerts
d959bb6041
qtdemux: parse embedded ID32 tags
2011-09-19 12:11:45 +02:00
Wim Taymans
33f18b8ea4
Merge branch 'master' into 0.11
...
Conflicts:
gst/audioparsers/gstamrparse.c
gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +02:00
Wim Taymans
e204c5934c
-good: port to new audio caps
2011-09-06 13:16:27 +02:00
Mark Nauwelaerts
4b8ead4340
qtdemux: fragmented support; avoid adjustment for keyframe seek
...
... since all index data may not yet be available at that time.
2011-09-05 14:56:18 +02:00
Mark Nauwelaerts
08d25a69d5
qtdemux: fragmented support; mark all audio track samples as keyframe
2011-09-05 14:56:18 +02:00
Brian Li
a3e9b676c0
qtdemux: fragmented support; properly init return variable value
...
Fixes #655918 .
2011-09-05 14:56:08 +02:00
Mark Nauwelaerts
e15d29ffe4
qtdemux: push mode; perform some extra checks prior to upstream seeking
2011-08-30 14:24:04 +02:00
Mark Nauwelaerts
9de9d7e4d4
qtdemux: push mode; fix buffered streaming
...
That is, in case where no seek is peformed to moov, but preceding
limited mdat is buffered.
2011-08-30 14:23:49 +02:00
Mark Nauwelaerts
5ea19b0696
qtdemux: avoid overflow wraparound in timestamp when adding durations
...
Do some type juggling to avoid overflow, while still allowing for 'negative'
durations (which would need a wraparound effect).
2011-08-29 15:16:16 +02:00
Wim Taymans
9d6371405e
fourcc: remove fourcc from caps
2011-08-22 12:24:15 +02:00
Wim Taymans
4bb2b140e9
Merge branch 'master' into 0.11
...
Conflicts:
sys/v4l2/v4l2src_calls.c
2011-08-16 18:35:53 +02:00
Stefan Kost
a1b1d19105
qtdemux: initialize bitrate variable and reset for each loop
...
Don't check eventually unset variable and don't accidentially use values from last
cycle.
2011-08-12 16:32:58 +02:00
Wim Taymans
5fa0c28bc4
isomp4: fixup after small api changes
...
Port to recently changed api so that it compiles again.
2011-08-05 12:07:50 +02:00
Wim Taymans
4121021bb2
Merge branch 'master' into 0.11
...
Conflicts:
ext/pulse/pulsesink.c
ext/pulse/pulsesrc.c
gst/audioparsers/gstac3parse.c
gst/rtp/gstrtph264depay.c
gst/rtp/gstrtph264pay.c
gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Philippe Normand
0424368cfc
qtdemux: soften assertion check on stream size
...
https://bugzilla.gnome.org/show_bug.cgi?id=655570
2011-08-03 10:11:59 +02:00
Tim-Philipp Müller
b843f8f99c
gst: udpate for position/duration/convert query API changes
2011-07-28 11:38:31 +01:00
Mark Nauwelaerts
88f107b30b
qtdemux: adjust to unsigned segment fields
2011-07-06 16:32:11 +02:00
Mark Nauwelaerts
f886681367
isomp4: port to 0.11
2011-06-29 12:46:20 +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
Jonas Larsson
090e3a6f41
qtdemux: Fix buffer leak with corrupted files
...
Fixes bug #650912 .
2011-05-24 09:48:56 +02:00
Stefan Kost
9f3ae3244c
qtdemux: add missing break
2011-05-19 18:27:33 +03:00
Wim Taymans
cf1248e566
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-05-16 17:52:11 +02:00
Mark Nauwelaerts
4db6dce2db
qtdemux: also check for bitrate info in caps
2011-05-16 13:30:06 +02:00
Arun Raghavan
f89caeff5c
qtdemux: guess bitrate if only one stream's bitrate is unknown
...
If the bitrates for all but one audio/video streams are known, and the
total stream size and duration can be determined, this calculates the
unkown bitrate as (stream size / duration) - (sum of known bitrates).
While this is not guaranteed to be very accurate, it should be good
enough for most purposes.
For example, this is useful for H.263 + AAC streams where no 'btrt' atom
is available for the video portion.
https://bugzilla.gnome.org/show_bug.cgi?id=619548
2011-05-16 13:29:56 +02:00
Arun Raghavan
6e2774af55
qtdemux: Export max bitrate for AMR-NB/-WB streams
...
This parses the 'damr' atom if present, and exports the maximum bitrate
of the stream using the mode set field to determine the highest bitrate
frame type that might be present.
https://bugzilla.gnome.org/show_bug.cgi?id=620186
2011-05-16 13:29:50 +02:00
Tim-Philipp Müller
c25bf5dc34
quicktime: rename plugin to isomp4
...
https://bugzilla.gnome.org/show_bug.cgi?id=648004
2011-04-30 17:58:02 +01:00