Arnaud Vrac
1237898351
qtdemux: do not use indexes from sparse stream when seeking in push mode
...
This makes seeking more accurate in push mode, since the previous
keyframe on a sparse stream might be far away.
2013-07-18 11:48:11 +02:00
Arnaud Vrac
e561d12655
qtdemux: advertise subtitle streams as sparse
2013-07-18 11:48:11 +02:00
Wim Taymans
4c97701650
qtdemux: extract the palette from stsd
...
Sometimes a palette is inside the stsd, extract it instead of always using
the default one
2013-07-17 15:17:19 +02:00
Wim Taymans
6b82c89562
qtdemux: add support for WRAW
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704292
2013-07-17 09:57:17 +02:00
Wim Taymans
f698483bb3
qtdemux: palette is appended to buffers, not in caps
...
Fix the palette handling, in 1.0 we append the palette to the buffer instead of
placing it on the caps.
See also https://bugzilla.gnome.org/show_bug.cgi?id=704292
2013-07-17 09:57:16 +02:00
Arnaud Vrac
54bba4f60c
qtdemux: reset segment on flush stop
...
cca2f555d1
introduces a regression, where the demux segment is not
reset on flush stop, so the next upstream segment event will calculate
an invalid base time on the new segment to be sent downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=704255
2013-07-16 10:47:20 +02:00
Matej Knopp
ca32442f86
qtdemux: offset samples according to edit list
...
https://bugzilla.gnome.org/show_bug.cgi?id=700264
2013-07-15 09:59:23 +02:00
Matej Knopp
3111161e8a
qtdemux: unselect instead of ignoring disabled track, detect chapter track
...
https://bugzilla.gnome.org/show_bug.cgi?id=704007
2013-07-12 11:45:33 +02:00
Matej Knopp
7b69f427f1
qtdemux: correct argument order in gst_util_uint64_scale_int_round
...
https://bugzilla.gnome.org/show_bug.cgi?id=703350
2013-07-10 09:20:17 +02:00
Matej Knopp
4053e1d6ac
qtdemux: compute framerate from average sample duration
...
https://bugzilla.gnome.org/show_bug.cgi?id=703350
2013-07-01 12:53:17 +02:00
Wim Taymans
8428423c04
qtdemux: handle SEGMENT query
2013-06-20 11:31:22 +02:00
Sebastian Dröge
b001da2926
qtdemux: Disable usage of allocation queries
...
This can only reliably work if demuxers have a
separate streaming thread per srcpad. This should be
done in a demuxer base class, which integrates parts
of multiqueue
https://bugzilla.gnome.org/show_bug.cgi?id=701856
2013-06-19 11:07:48 +02:00
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
Sebastian Dröge
b0b0557c48
gst: Add better support for static plugins
2013-04-15 15:54:11 +02:00
David Schleef
a55ccff854
qtdemux: check value inside enda to set endianness
2013-04-09 13:30:17 -07:00
Matej Knopp
5686512b77
qtmux: use timestamp delta as duration if possible
...
https://bugzilla.gnome.org/show_bug.cgi?id=696437
2013-03-30 15:18:45 -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
c0443a17c4
qtmux: Fix test regression with one buffer streams
2013-03-22 15:14:15 -07: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
David Schleef
364433c105
qtmux: Remove documentation for dts-method
2013-03-22 14:14:04 -07:00
David Schleef
6571e388be
qtmux: deprecate dts-method property
2013-03-22 14:14:04 -07:00
David Schleef
ee56a7cb99
qtmux: Fix problems causing bad durations in file
...
- Fix up out-of-order incoming DTS values.
- Fix duration of initial sample.
2013-03-22 14:14:04 -07:00
David Schleef
816e186029
qtmux: fix all timestamps once first_ts is determined
2013-03-22 14:14:04 -07:00
David Schleef
258c40c6dd
qtmux: Use PTS/DTS from incoming buffers
...
Remove old DTS guessing code.
2013-03-22 14:14:04 -07:00
Nicola Murino
709f05234f
qtmux: expose mulaw caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=696052
2013-03-22 20:08:06 +00: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
d8ac666137
qtmux: set stream language code from tag
...
https://bugzilla.gnome.org/show_bug.cgi?id=696358
2013-03-22 08:40:26 +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
Michael Smith
b85c5f236b
mp4mux: in faststart mode, don't output up to 4 kB of garbage at the end.
2013-03-19 18:09:31 -07: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
d62019fff2
qtmux: set language to 'undefined' instead of English by default
2013-01-24 21:08:51 +00: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
3a3a7c38aa
qtdemux: allow more streams. Bump this constant to 32, which should be
...
enough for real-world files.
2012-10-12 14:38:33 -07:00
Michael Smith
d60c9ce2a4
qtdemux: support more different fourcc values for other ProRes variants.
2012-10-12 14:35:49 -07:00
Arnaud Vrac
f0db4a8213
qtdemux: fix parsing in push mode when moov atom is at the end
...
When playing an mp4 file with the MOOV atom at the end of the file, playback
fails with the error message "no 'moov' atom within the first 10 MB". This is
due to a mistake in the upstream_size typing, making the seek to the end of
file never happening.
https://bugzilla.gnome.org/show_bug.cgi?id=684972
2012-09-27 22:20:19 +01:00
Tim-Philipp Müller
bc37b9f4fc
qtmux: send stream-start event
2012-09-23 16:33:35 +01:00
Michael Smith
1026970347
qtdemux: 24 bit audio here is S24LE, not S24_3LE.
2012-09-20 18:01:52 -07:00
Stefan Sauer
f874922e1c
collectpads: remove gst_collect_pads_add_pad_full
...
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:05:44 +02: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
Tim-Philipp Müller
4de8bd004c
No code with side-effects inside g_assert() please
2012-08-08 11:07:55 +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
Wim Taymans
0cb11943e5
xqtdepay: fix buffer refcount error
...
After pushing the buffer into the adapter, we should not let the baseclass push
it out anymore. This error was introduced while porting to 0.11.
See https://bugzilla.gnome.org/show_bug.cgi?id=680540
2012-07-25 10:11:29 +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
Wim Taymans
51371d26ee
update for RTP buffer api changes
2012-07-17 16:38:27 +02:00
Edward Hervey
f063e40af7
demux: Push STREAM_START event when needed
2012-07-13 13:51:48 +02:00
Stefan Sauer
0cff483bd7
qtmux: avoid warning if both ts are equal
2012-07-11 13:54:00 +02:00
Wim Taymans
2052cabdc4
fix for allocator API changes
2012-07-09 16:28:41 +02:00
Tim-Philipp Müller
c60625a5e4
docs: update isomp4 docs for gppmux -> 3gppmux change as well
2012-07-06 12:57:34 +01:00
Tim-Philipp Müller
cf9b2149dd
isomp4: remove gppmux, which was deprecated in favour of 3gppmux
2012-07-06 12:54:02 +01: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
Mark Nauwelaerts
67e168aef4
collectpads2: rename to collectpads
2012-04-17 15:14:27 +02:00
Mark Nauwelaerts
04b4d30f2c
misc: chain up to collectpads event handler
2012-04-16 16:37:49 +02: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
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25
gst: Update versioning
2012-04-04 14:37:47 +02: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
c44cd8f55b
Merge branch 'master' into 0.11
...
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850
Conflicts:
docs/plugins/Makefile.am
docs/plugins/gst-plugins-good-plugins-docs.sgml
docs/plugins/gst-plugins-good-plugins-sections.txt
docs/plugins/gst-plugins-good-plugins.hierarchy
docs/plugins/inspect/plugin-avi.xml
docs/plugins/inspect/plugin-png.xml
ext/flac/gstflacdec.c
ext/flac/gstflacdec.h
ext/libpng/gstpngdec.c
ext/libpng/gstpngenc.c
ext/speex/gstspeexdec.c
gst/audioparsers/gstflacparse.c
gst/flv/gstflvmux.c
gst/rtp/gstrtpdvdepay.c
gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01: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
e179a7edbe
qtdemux: debug additional sdtp flag
2012-03-13 17:54:28 +01:00
Nicola Murino
3f4e4edaa2
gst: Fix some query leaks
2012-03-12 09:10:20 +01:00
Matej Knopp
0ee34c293f
qtmux: do not unref sample caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=671534
2012-03-08 11:02:00 +00:00
Matej Knopp
688e820573
qtdemux: covert art tag type is GstSample not GstBuffer now
...
https://bugzilla.gnome.org/show_bug.cgi?id=671534
2012-03-07 10:42:14 +00:00
Tim-Philipp Müller
cc0511f5d8
flvmux, matroskamux, qtmux: if in doubt about downstream seekability default to streaming=true
...
If downstream didn't answer our SEEKING query and told us
it's seekable, default to streaming=true. We couldn't do
this in 0.10 for backwards compatibility reasons, but we
can in 0.11. Play it safe.
2012-02-27 01:12:09 +00:00
Tim-Philipp Müller
f49410d698
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/audioparsers/gstmpegaudioparse.c
2012-02-27 01:00:03 +00:00
Tim-Philipp Müller
676b371bdb
qtmux: create streamable output if downstream is not seekable
...
Ignore the "streamable" property setting and create streamable
output if downstream is known not to be seekable (as queried
via a SEEKABLE query).
Fixes pipelines like qtmux ! appsink possibly creating seemingly
corrupted output if streamable has not been set to true.
2012-02-25 15:57:02 +00: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
Wim Taymans
bb2bd604e0
update for HEADER flag
2012-01-30 17:16:51 +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
2cc2ada2e4
qtmux: include right collectpads version
2012-01-26 11:43:44 +01:00
Sebastian Dröge
30689a8167
qtmux: Update for the new collectpads2 event handling API
2012-01-26 10:40:06 +01:00
Sebastian Dröge
0b517ce9fb
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good into 0.11
2012-01-25 12:49:34 +01:00
Sebastian Dröge
10554b271f
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacdec.c
ext/jpeg/gstjpegenc.c
ext/pulse/pulsesink.c
sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Wim Taymans
583d39dd8d
update for new memory API
2012-01-25 12:30:28 +01:00
Mark Nauwelaerts
3137f26544
isomp4: recovery: add sanity check
...
... on possibly bogus/corrupt input data.
2012-01-20 17:10:44 +01:00
Wim Taymans
1584806634
port to new gthread API
2012-01-19 11:33:53 +01:00
Tim-Philipp Müller
d681af899b
GST_TYPE_DATE -> G_TYPE_DATE
2012-01-12 23:55:31 +00: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
Vincent Penquerc'h
a6d9f6a3ce
isomp4: fix caps leak
2012-01-05 19:25:33 +00:00
Vincent Penquerc'h
3489b691c5
isomp4: remove dead assignment
2012-01-05 19:08:03 +00: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
0c7a491a6f
qtmux: use GstCollectPads2 buffer callback and running time clipper
...
... since default collection heuristics suffice.
2011-12-19 17:44:57 +01:00
Mark Nauwelaerts
7480b4407e
qtmux: use GstCollectPads2 event callback
...
... in stead of local HACK.
2011-12-15 16:31:29 +01:00
Vincent Penquerc'h
79a6e23c1f
qtmux: port to GstCollectPads2
2011-12-14 19:02:23 +00:00
Thiago Santos
4a5364d7f6
qtmux: make debug message more useful
...
Add information about the taglist and which pad received the
tag event on the debug logging.
2011-12-13 10:21:31 -03: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
Edward Hervey
86961d5986
rtpxqtdepay: Initialize GstRTPBuffer before usage
2011-12-05 18:40:26 +01: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
Tim-Philipp Müller
be0d6baac5
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/pulse/pulseaudiosink.c
ext/pulse/pulsesrc.c
gst/audioparsers/gstaacparse.c
gst/audioparsers/gstamrparse.c
gst/audioparsers/gstdcaparse.c
gst/audioparsers/gstflacparse.c
gst/effectv/gstradioac.c
gst/effectv/gstradioac.h
gst/effectv/gstripple.c
Some possible FIXMEs remaining in the audio parser getcaps functions.
2011-11-26 13:34:10 +00:00
Thiago Santos
a3bc431924
ismlmux: Use iso-fragmented as variant type
...
Using 'iso' conflicts with mp4mux variant type, ismlmux now
uses iso-fragmented
Fixes #656823
2011-11-25 19:29:31 -03: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
Stefan Sauer
8643d1caaf
collectpads: port API changes
2011-11-17 08:44:45 +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
e84b8dbe94
update for base class rename
2011-11-11 12:32:41 +01:00
Wim Taymans
249d0083cc
update for base class rename
2011-11-11 12:25:01 +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
Wim Taymans
a95acb7122
make %u in all request pad templates
2011-11-04 11:58:22 +01:00
Wim Taymans
22eb0d2300
Merge branch 'master' into 0.11
2011-11-02 10:40:12 +01:00
Wim Taymans
0560ab53c0
update for new task api
2011-11-02 09:06:37 +01:00
Mark Nauwelaerts
57684fee3a
qtmux: avoid shortcut evaluation when adding paired mp4 tag
...
Fixes (part of) #638711 .
2011-10-31 16:25:59 +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
Tim-Philipp Müller
8c762dabb2
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-09 16:29:05 +01:00
Tim-Philipp Müller
309b5fa0c1
qtdemux: update for __gst_debug_min name change
2011-10-09 16:25:15 +01:00
Thiago Santos
ca417fd376
qtmux: Fix memory leak on atoms recovery function
...
Remember to free the ftyp data after writing it to a file.
Fixes #660969
2011-10-09 11:18:18 -03:00
Wim Taymans
94021224fc
qtmux: report new bits
2011-10-06 12:26:33 +02:00
Wim Taymans
586ef0babd
Merge branch 'master' into 0.11
...
Conflicts:
ext/speex/gstspeexdec.c
ext/speex/gstspeexenc.c
gst/isomp4/atoms.c
gst/isomp4/gstqtmux.c
2011-10-06 12:23:39 +02:00
Thiago Santos
535f92a0a4
qtmux: update esds atom under wave atom for aac bitrates
...
AAC in mov format puts an ESDS atom inside of a WAVE atom in
STSD atom, we need to update the bitrate on this ESDS. This patch
fixes it.
2011-09-30 13:05:24 -03:00
Thiago Santos
31acc88b39
qtmux: Also update btrt atom
...
When rewriting bitrates, also update the btrt atom under stsd
2011-09-30 13:05:24 -03:00
Thiago Santos
7a143ea94f
qtmux: Calculate average bitrate for streams
...
Calculate and use average bitrate for streams when no
bitrate tag was received
2011-09-30 12:43:13 -03:00
Thiago Santos
4737090594
qtmux: Avoid a buffer metadata copy if possible
...
If first_ts is 0 there is no need to subtract, so we might
skip some copying to make the buffer metadata writable.
2011-09-30 12:43:13 -03: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
Lasse Laukkanen
056e9188b1
isomp4: Fix allowing zero duration tracks
...
https://bugzilla.gnome.org/show_bug.cgi?id=637486
2011-09-19 11:18:27 +02:00
Thiago Santos
261d11a6d7
qtmux: Fix ctts generation for streams that don't start at 0 timestamps
...
Subtract the first timestamp of a stream from all input buffers to
get 0-based timestamps for creating a sane ctts table. Without this
patch the ctts could have larger values than needed, causing the
playback to have a delay at startup.
As the first timestamp is only found after a few buffers are queued
(due to possible reordered buffers), once we find the first timestamp
we subtract it from all buffers on the queue, from that point on,
all buffers have their timestamps subtract when they are collected.
https://bugzilla.gnome.org/show_bug.cgi?id=658659
2011-09-12 07:37:10 -03:00
Thiago Santos
ed3adece77
qtmux: remove one G_UNLIKELY for user property
...
Using G_UNLIKELY on user properties isn't nice, specially when
that is the default option.
2011-09-07 11:46:07 -03: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
Wim Taymans
734ec56617
Merge branch 'master' into 0.11
2011-07-08 12:51:14 +02:00
David Schleef
4dcc9ee42a
qtmux: Add direct dirac mapping
2011-07-07 11:27:52 -07:00
Mark Nauwelaerts
88f107b30b
qtdemux: adjust to unsigned segment fields
2011-07-06 16:32:11 +02:00
Mark Nauwelaerts
d59a00aa1c
Merge branch 'master' into 0.11
...
Conflicts:
ext/pulse/pulsesink.c
2011-07-04 11:48:13 +02:00
Mark Nauwelaerts
611c950868
qtmux: mind requested name for request pad
2011-07-04 11:07:13 +02:00
Mark Nauwelaerts
f886681367
isomp4: port to 0.11
2011-06-29 12:46:20 +02:00
Mark Nauwelaerts
cc526d2e52
qtmux: free date tag
2011-06-29 12:05:23 +02:00
Wim Taymans
0b1bdcf7cb
Merge branch 'master' into 0.11
...
Conflicts:
sys/ximage/ximageutil.c
2011-06-02 18:51:29 +02:00
Antonio Frediani
63d350ceb3
qtmux: Use GST_TAG_IMAGE for coverart too
...
Fixes bug #638107 .
2011-05-30 12:09:31 +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
Edward Hervey
cca48a42c6
qtmux: Fix signed floating point values writing
...
You would end up on some architectures with 0 being written out
instead of the proper value.
https://bugzilla.gnome.org/show_bug.cgi?id=649449
2011-05-05 15:10:09 +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