Alessandro Decina
aea09188dc
flvmux: don't release request pads going PAUSED->READY
...
Don't release request pads but just reset them. This makes pipelines using
flvmux reusable.
2011-09-12 10:00:59 +02:00
Vincent Penquerc'h
d17d13219c
ac3parse: use bsid 9 and 10 to control sample rate
...
See http://matroska.org/technical/specs/codecid/index.html
The spec is silent about this though...
https://bugzilla.gnome.org/show_bug.cgi?id=658546
2011-09-09 13:59:31 +02:00
Mark Nauwelaerts
95b5ece2c9
rtspsrc: ensure some initial state variable setup
...
... which might otherwise be skipped if the PLAY command is issued before
the OPEN command had a chance to actually be acted upon.
Fixes #657376 .
2011-09-09 10:53:08 +02:00
Mark Nauwelaerts
ef1ad78eee
matroskademux: tweak gap handling
...
... so as to avoid buffers before and after gap to have identical running time.
2011-09-08 15:10:43 +02: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
Andoni Morales Alastruey
782fc78d57
matroskamux: handle GstForceKeyUnit event
...
... by starting a new cluster after forwarding event.
Fixes #644154 .
2011-09-07 14:51:56 +02:00
Sebastian Dröge
c29069fd11
ac3parse: Add Converter to the classification because it can convert between different alignments
...
This allows decodebin2 to let it negotiate properly.
2011-09-07 12:11:39 +02:00
Sebastian Dröge
786d35f53f
audioparsers: Improve src template caps
...
Remove the parsed/framed fields and add all fields to the template
caps that always exist.
2011-09-07 12:10:48 +02:00
Mark Nauwelaerts
625e7a6143
aacparse: parse codec_data to determine number of samples per frame
...
Fixes #656734 .
2011-09-07 11:20:03 +02:00
Wim Taymans
83ea243000
Merge branch 'master' into 0.11
...
Conflicts:
common
2011-09-06 16:37:03 +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
Mark Nauwelaerts
aa0ae490d0
matroskamux: make default duration check less sensitive
...
Frame duration might vary for 1 usecond, in this case matroskamux
decides to create BLOCKGROUP instead of SIMPLEBLOCK.
Convert duration to timecodescale which is (typically) less precise, and
then also allow the difference of 1/-1 to arrange for less sensitive check.
Based on patch by Alexey Fisher <bug-track@fisher-privat.net>
Fixes #653080 .
2011-09-06 15:09:13 +02:00
Mark Nauwelaerts
06f8e356a6
rtpmp4gdepay: improve bogus interleaved index compensating
...
Patch by <gudake@gmail.com>
Fixes #654585 .
2011-09-06 13:20:23 +02:00
Wim Taymans
e204c5934c
-good: port to new audio caps
2011-09-06 13:16:27 +02:00
Mark Nauwelaerts
b9a54a38b0
amrparse: fix and streamline valid frame checking
...
... to handle various combinations of sync or not, and sufficient data
or not as might be expected.
Fixes #650714 .
2011-09-05 15:51:48 +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
2603c2079d
rtspsrc: add gtk-doc for new short-header property
2011-09-05 13:32:17 +02:00
Marc Leeman
ce276d903c
rtspsrc: allow sending short RTSP requests to a server
...
Some encoders (Arecont) do not like the long OPTIONS sent at startup as sent by
GStreamer, but do accept the short header as sent by Live555.
This patch makes the extending the request optional by adding a property
(short-header).
Fixes #655805 .
API: GstRTSPSrc:short-header
2011-09-05 13:26:06 +02:00
Olivier Crête
d4778dbe43
rtph263ppay: Set H263-2000 if thats what the other side wants
...
The static caps states this element supports H263-2000, but setcaps never
sets it, so it was lie.
See https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-09-05 12:58:55 +02:00
Olivier Crête
b2e8362767
rtpsession: Initialise the last_keyframe_request variable
2011-09-02 19:24:46 -04:00
Peter Korsgaard
d73410c4af
multiudpsink: make add/remove/clear/get-stats action signals
...
http://bugzilla.gnome.org/show_bug.cgi?id=657830
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-01 22:54:27 +01:00
Wim Taymans
24df106272
mp2t: fix encoding name according to RFC3551
2011-08-31 18:45:15 +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
Wim Taymans
9521326703
shapewipe: port to 0.11
2011-08-30 14:06:12 +02:00
Wim Taymans
ef560b86e2
law: port to 0.11
2011-08-30 12:25:35 +02:00
Wim Taymans
5ad41c7292
alaw: port to 0.11
2011-08-29 19:11:25 +02:00
Wim Taymans
e62d326dc2
goom: fix comment
2011-08-29 19:10:35 +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
75e153bb13
allocation: fix for vmethod changes
2011-08-26 14:20:49 +02:00
Wim Taymans
18065ac823
port to new video flags
2011-08-25 16:41:23 +02:00
Wim Taymans
e9df54819c
Merge branch 'master' into 0.11
2011-08-24 14:16:44 +02:00
Vincent Penquerc'h
f3fc3e1f69
aacparse: only require two frames in a row when we do not have sync
...
This avoids a single bit error dropping two frames unnecessarily.
The two consecutive frames check is still required when we don't
have sync.
https://bugzilla.gnome.org/show_bug.cgi?id=657080
2011-08-24 08:26:31 +02:00
Wim Taymans
60f0e44bf6
video: port to new colorimetry info
2011-08-23 19:09:31 +02:00
Wim Taymans
d6908f1a2d
Merge branch 'master' into 0.11
2011-08-22 13:10:07 +02:00
Wim Taymans
9d6371405e
fourcc: remove fourcc from caps
2011-08-22 12:24:15 +02:00
David Schleef
88557c4792
breakmydata: element is not passthrough
2011-08-21 15:15:14 -07:00
David Schleef
2a83da13fc
multifilesrc: quiet debugging
2011-08-21 15:15:14 -07:00
David Schleef
0446787e65
deinterlace: change field handling through methods
...
This likely breaks stuff. The good: all of the methods now create
field images aligned with input frames, without timestamp mangling.
The bad: this touches a lot of code, much of which is hairy and in
need of cleanup. However, at this point we can reasonably create a
PSNR-based test.
2011-08-21 15:15:14 -07:00
Alessandro Decina
ad996feb28
multifilesink: reset ->streamheaders to NULL on _stop
...
Fixes invalid memory access reusing multifilesink
2011-08-21 14:41:59 +02:00
Wim Taymans
5e3a52f1d9
cutter: bring cutter somewhat into this millennium
2011-08-20 10:46:18 +02:00
Wim Taymans
c1abdd7626
rg: fix caps
2011-08-19 16:27:20 +02:00
Wim Taymans
445bf71bd1
port to more audio api changes
2011-08-19 16:09:48 +02:00
Wim Taymans
77ad0a1363
port more elements to new audio caps and API
2011-08-19 14:01:45 +02:00
Wim Taymans
90f5b31b4b
port to new audio API and caps
2011-08-19 11:49:44 +02:00
Wim Taymans
135b41cb5b
Merge branch 'master' into 0.11
2011-08-18 19:37:39 +02:00
Wim Taymans
09b15d7dfe
port to new audio caps.
2011-08-18 19:21:07 +02:00
Vincent Penquerc'h
e032d26674
matroskademux: ensure no-more-pads is always emitted
...
In particular, do so even if failing to read while prerolling,
such as when reading from a partial file (eg, while it is being
downloaded).
This fixes a wedge in playbin2.
https://bugzilla.gnome.org/show_bug.cgi?id=651965
2011-08-18 11:30:07 +02:00
Wim Taymans
48e47ad702
Merge branch 'master' into 0.11
2011-08-17 11:17:38 +02:00
Vincent Penquerc'h
f8a9f5bc1c
spectrum: avoid crashing by resetting the correct number of channels
...
https://bugzilla.gnome.org/show_bug.cgi?id=656606
2011-08-16 22:44:07 +01:00
Wim Taymans
4bb2b140e9
Merge branch 'master' into 0.11
...
Conflicts:
sys/v4l2/v4l2src_calls.c
2011-08-16 18:35:53 +02:00
Vincent Penquerc'h
6ac7ad8a2c
flacparse: fix off by one in frame size check
...
Yes, I was tracking another bug and the small test file I generated
to test with improbably just happened to trigger this, with a second
and last frame of 1615 bytes.
https://bugzilla.gnome.org/show_bug.cgi?id=656649
2011-08-16 13:25:30 +01:00
Tim-Philipp Müller
5866c3a413
id3demux: remove specs from git as well now that parsing code is in -base
2011-08-14 20:46:01 +01:00
Mark Nauwelaerts
1ca89389e4
id3demux: use -base provided id3 tag parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=654388
2011-08-13 23:19:32 +01: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
Edward Hervey
d08e0ccc48
rtspsrc: Properly error out if SDP contains no streams
...
Also fixes unitialized variable error on macosx.
2011-08-09 11:28:17 +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
Edward Hervey
eb8075111d
y4menc: Now depends on libgstvideo
2011-08-05 11:32:45 +02:00
Wim Taymans
84371e4066
goom: port to new caps
2011-08-04 16:32:39 +02:00
Wim Taymans
ee2aa25e04
port to new API
2011-08-03 18:37:27 +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
Jan Schmidt
1438bf26ac
matroska: Register new debug category
...
Register the matroskareadcommon debug category when the
plugin is loaded to avoid assertion output when debug is turned on.
2011-08-03 22:52:07 +10: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
Robert Krakora
f7893b8721
rtpjpegpay: Add support for H.264 payload in MJPEG container
...
See http://www.quickcamteam.net/uvc-h264/USB_Video_Payload_H.264_0.87.pdf
Fixes bug #655530 .
2011-08-03 10:09:42 +02:00
Sebastian Dröge
4aa5485cfc
effectv: Fix unused but set variable compiler warnings
2011-08-03 08:51:19 +02:00
Tim-Philipp Müller
a1712ad87c
docs: fix two more Since: tags
2011-08-02 23:42:58 +01:00
Mart Raudsepp
62cd1215c7
deinterlace: Fix Since tags for fieldanalysis related new properties
...
commit c1b100cf9c
is after 0.10.29 and 0.10.30 was a branched release.
So fix Since tags from 0.10.29 to 0.10.31 for the new properties.
2011-08-02 23:38:13 +01:00
Wim Taymans
5771056ed5
rtpvorbispay: fix porting error
2011-08-02 11:51:45 +02:00
Wim Taymans
49af68ebf4
-good: fix for bufferpool API change
2011-07-29 17:27:07 +02:00
Mark Nauwelaerts
c03648c8bb
rtpsession: properly init rtcp_min_interval
2011-07-29 12:08:42 +02:00
Mark Nauwelaerts
3a98f6f0fd
rtpssrcdemux: keep a ref on the src pad while using it
...
Prevent a possible race if clear_ssrc() is called between getting the pad and
doing the push.
Based on patch by <olivier.crete@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:51:01 +02:00
Olivier Crête
c7b9b98648
rtpssrcdemux: Make the pads lock recursive and hold it across the signal emit
...
We need to keep the lock held because we don't want a push before the "new-ssrc-pad"
handler has completed. But we may want to push an event from inside that handler, hence
the recursive mutex.
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:59 +02:00
Olivier Crête
e26b5391c2
rtpssrcdemux: Use PADs lock
...
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:57 +02:00
Tim-Philipp Müller
b843f8f99c
gst: udpate for position/duration/convert query API changes
2011-07-28 11:38:31 +01:00
Tim-Philipp Müller
f94ea7299a
avidemux: fix compiler warning
...
gstavidemux.c: In function 'gst_avi_demux_parse_stream':
gstavidemux.c:1261:24: error: 'data' may be used uninitialized in this function [-Werror=uninitialized]
gstavidemux.c:1204:11: note: 'data' was declared here
2011-07-28 11:38:31 +01:00
Sjoerd Simons
4c73439ee3
rtph264depay: Cope with FU-A E bit not being set
...
Some h264 payloaders are unfortunately buggy and don't correctly set the
E bit in FU-A NAL when they have ended. Work around this by assuming
such a fragmentation unit has ended when there was no packet loss and a
new NAL is started
2011-07-27 18:18:13 +01:00
Arun Raghavan
89564fcb69
ac3parse: Support switching alignment on-the-fly
...
This allows switching of alignment for E-AC3 streams at run-time. This
is requested by downstream elements via a custom event.
https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-27 20:43:56 +05:30
Wim Taymans
13d0ad188f
warp: add stride support
2011-07-27 12:42:21 +01:00
Wim Taymans
3e089bd7a9
rtp: fix compilation
2011-07-26 17:45:01 +02:00
Arun Raghavan
96972eb462
ac3parse: Add support for IEC 61937 alignment
...
When pushing out buffers over S/PDIF or HDMI, IEC 61937 payloading
requires each buffer to contain 6 blocks from each substream. This adds
code to collect all the frames needed to meet this requirement before
pushing out a buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-26 10:40:00 +05:30
Olivier Crête
6095d2a3f0
rtpsession: Always send application requested feedback in immediate mode
...
Send as many application requested feedback messages in immediate mode, even if they
have already been sent.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 17:20:59 +02:00
Olivier Crête
354faabda0
rtpsession: Don't let the computed RTP bandwidth fall too low
...
If it falls too low, the computed RTCP bandwidth will be near zero and
the RTCP thread will be stopped.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 16:19:00 +02:00
Olivier Crête
4d48109f9d
rtpsession: Wait longer to timeout SSRC collision
...
Using the current RTCP interval to timeout SSRC collision can lead to
collisions being timed out immediately if a BYE packet is sent because
it is sent immediately, so the interval is 0. This is not what we
want. So just set a static 10 times the default RTCP interval, it
should be enough
https://bugzilla.gnome.org/show_bug.cgi?id=648642
2011-07-25 16:18:58 +02:00
Mark Nauwelaerts
9764b57b0a
rtspsrc: set SOURCE flag at init time
...
Fixes #654816 .
2011-07-25 12:44:38 +02:00
Wim Taymans
7ca40d7a53
vertigotv: add stride support
2011-07-25 10:24:33 +01:00
Wim Taymans
83bc5e0765
replay: fix for event handler
2011-07-22 21:26:32 +02:00
Wim Taymans
984a0b54eb
fixes for event handler changes
2011-07-22 21:19:45 +02:00
Olivier Crête
2591a882ae
rtph264depay: Complete merged AU on marker bit
...
The marker bit on a RTP packet means the AU has been completed, so push it out
immediately to reduce the latency.
https://bugzilla.gnome.org/show_bug.cgi?id=654850
2011-07-21 17:11:08 +02:00
Olivier Crête
118a7cc36a
rtph264pay: Only set the marker bit on the last NALU of a multi-NALU access unit
...
An access unit could contain multiple NAL units, in that case, only the last
RTP packet of the last NALU should have its marker bit set.
https://bugzilla.gnome.org/show_bug.cgi?id=654850
2011-07-21 17:11:06 +02:00
Alessandro Decina
216dc602c3
multipart: fix compiler warning
2011-07-20 08:53:25 +02:00
Mark Nauwelaerts
1880c4145e
auparse: avoid hanging on invalid short input
...
... as in such case there is no srcpad yet on which to forward EOS.
2011-07-19 12:05:51 +02:00
Mark Nauwelaerts
471904032d
rtph264depay: reset upon FLUSH_STOP
...
... which is particularly needed when merging NAL units, where not resetting
would lead to output of an older (pre-flush) AU (with unintended timestamp).
2011-07-18 14:32:26 +02:00
Mark Nauwelaerts
6c0aec783a
multifilesink: do not use g_slist_free_full
...
... as that is only in GLib 2.28, which is not yet required at this time.
2011-07-18 14:31:40 +02:00
Alessandro Decina
072bd74cc4
multifilesink: add max-files property
...
Add max-files property to limit the number of files saved on disk.
API: multifilesink::max-files
2011-07-18 10:21:41 +02:00
Alessandro Decina
c9096c6829
multifilesink: refactor file opening and closing code
2011-07-17 23:36:55 +02:00
Alexey Fisher
69c14012c9
matroskademux: fix pixel-aspect-ratio if header has only one display variable
...
Current matroska demux calculates the pixel aspect ratio only if both
DisplayHeight and DisplayWidth are set, but it is legal to use only
one variable if the other is equal to PixelWidth or PixelHeight, at
least the mkclean utility is doing that. So this makse mkcleaned
files play correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=654744
2011-07-17 00:11:03 +01:00
Antoine Jacoutot
df3cee6606
goom: fix build on PPC on openbsd
...
A missing sys/param.h include results in:
/usr/include/sys/proc.h:64: error: 'MAXLOGNAME' undeclared here (not in a
function)
/usr/include/sys/proc.h:285: error: 'MAXCOMLEN' undeclared here (not in a
function)
when compiling goom on openbsd/ppc. We can just remove the two sys/ includes
here, they are not needed for anything.
https://bugzilla.gnome.org/show_bug.cgi?id=654749
2011-07-16 23:50:25 +01:00
Wim Taymans
9c087d7d85
Merge branch 'master' into 0.11
2011-07-15 17:06:39 +02:00
Olivier Crête
87c7f303b0
rtppcmApay/depay: Static clock rates on static payloads, dynamic on dynamic
...
Partially reverts 397dc60b
2011-07-14 20:13:01 -04:00
Olivier Crête
57a832cbb1
rtph264pay: Implement getcaps
...
Convert profile-level-id from RTP caps into video/x-h264 style caps (with profile and level)
2011-07-13 14:10:35 -04:00
Mark Nauwelaerts
b98585df82
rtspsrc: fix seeking regression
...
... introduced when shuffling around code for the async implementation
by setting state of source (and udp sources) in _play before downstream
flushing is undone.
2011-07-12 15:13:25 +02:00
René Stadler
fd38772d3e
ac3parse: fix buffer duration on blocks-per-frame change
...
The gst_base_parse_set_frame_rate call was predicated on a change to
sample rate, duration or profile. However, the block count per frame can
also change between packets, which would result in incorrect buffer
durations.
2011-07-11 15:35:46 +03:00
Mark Nauwelaerts
eb82a50bd1
rtp: port remaining to 0.11
2011-07-10 21:50:19 +02:00
Wim Taymans
bee50961e4
y4m: port some more
...
Use video helpers.
2011-07-10 13:48:54 +02:00
Wim Taymans
924012111f
y4m: port to 0.11
2011-07-10 13:28:27 +02:00
Wim Taymans
8926a8f753
multipart: port to 0.11
2011-07-10 12:46:03 +02:00
Wim Taymans
caf1760694
Merge branch 'master' into 0.11
2011-07-10 11:42:37 +02:00
Wim Taymans
1c4ec02be9
debug: port to 0.11, disable others
...
Diasable the efence and capsdebug elements, port them later.
2011-07-10 11:40:40 +02:00
David Schleef
abb646dcd1
multifilesrc: Improve looping
...
Add start-index and stop-index properties.
2011-07-09 19:23:41 -07:00
Jonny Lamb
9149ce8d9d
multifile: add loop property to multifilesrc
...
Fixes : #652727
Signed-off-by: Jonny Lamb <jonnylamb@jonnylamb.com>
Signed-off-by: David Schleef <ds@schleef.org>
2011-07-09 18:58:52 -07:00
Wim Taymans
734ec56617
Merge branch 'master' into 0.11
2011-07-08 12:51:14 +02:00
Alexey Fisher
a2e0bda3b5
matroskademux: handle blocks with duration=0
...
Some video frames, for example alt-ref frame in VP8, will be
never displayed. This is why it has duration=0.
This patch allow to use this duration.
Bug: 654175
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2011-07-08 09:58:29 +02:00
David Schleef
4dcc9ee42a
qtmux: Add direct dirac mapping
2011-07-07 11:27:52 -07:00
Wim Taymans
a3a253af15
effectv: port last effectv element to 0.11
2011-07-07 17:59:04 +02:00
Wim Taymans
69e2de76de
effectv: port streaktv to 0.11
2011-07-07 17:49:34 +02:00
Wim Taymans
b8c426564f
effectv: port radioactv to 0.11
2011-07-07 17:40:22 +02:00
Wim Taymans
99c45328b7
effectv: fix docs
2011-07-07 17:29:58 +02:00
Wim Taymans
7e3e4a90d4
effectv: port op to 0.11
2011-07-07 17:29:44 +02:00
Wim Taymans
63e05a0cc4
effectv: port quark tv
2011-07-07 17:18:21 +02:00
Wim Taymans
ec7b96010f
effectv: port revtv to 0.11
2011-07-07 16:57:39 +02:00
Wim Taymans
577f689f7e
effectv: port vertigotv to 0.11
2011-07-07 16:46:51 +02:00
Wim Taymans
39f689dc97
effectv: port shagadelictv to 0.11
2011-07-07 16:38:10 +02:00
Mark Nauwelaerts
6aea70a8a1
auparse: use ALWAYS src pad rather than SOMETIMES
2011-07-07 11:22:26 +02:00
Mark Nauwelaerts
6ebb23d2a0
auparse: port to 0.11
2011-07-07 11:14:16 +02:00
Wim Taymans
01fe86d53c
shapewipe: beginnings of porting
2011-07-06 19:03:52 +02:00
Wim Taymans
be50d18a57
warptv: port to 0.11
2011-07-06 18:50:26 +02:00
Wim Taymans
a462c14b9d
dice: keep track of info
2011-07-06 18:50:15 +02:00
Wim Taymans
a1b4b089ec
effectv: port dice
2011-07-06 18:32:45 +02:00
Wim Taymans
50b0751799
effectv: port agingtv
2011-07-06 18:09:49 +02:00
Mark Nauwelaerts
a6d9995705
wavparse: use ALWAYS source pad rather than SOMETIMES
2011-07-06 16:32:13 +02:00
Mark Nauwelaerts
e9146e7aec
wavparse: port to 0.11
2011-07-06 16:32:13 +02:00
Mark Nauwelaerts
9cf287ebcc
wavenc: port to 0.11
2011-07-06 16:32:11 +02:00
Mark Nauwelaerts
88f107b30b
qtdemux: adjust to unsigned segment fields
2011-07-06 16:32:11 +02:00
Wim Taymans
3fd1106b7e
Merge branch 'master' into 0.11
2011-07-06 12:05:12 +02:00
Mark Nauwelaerts
ef02634dc6
rtpmanager: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer and corresponding rtp and rtcp buffer interfaces
* misc caps and segment handling changes
FIXME: also relies on being able to pass caps along with a buffer,
which has no evident equivalent yet, so that either needs one,
or still needs quite some code path modification to drag along caps.
2011-07-06 10:16:12 +02:00
Wim Taymans
794320a202
videoflip: fix caps
2011-07-05 15:37:52 +02:00
Wim Taymans
301e3e32ff
effectv: port edgetv
2011-07-05 11:46:16 +02:00
David Schleef
f2c8761a50
goom: Don't answer lantency queries before negotiation
2011-07-04 12:59:50 -07:00
Wim Taymans
f1df4c4b32
udp: port to new API
2011-07-04 18:15:42 +02:00
Wim Taymans
99c102578f
alpha: fix caps
2011-07-04 18:10:55 +02:00
Wim Taymans
b9b007e1be
alpha: port to new video API
2011-07-04 18:06:48 +02:00
Wim Taymans
3c27f2435a
alpha: more porting
2011-07-04 17:00:34 +02:00
Wim Taymans
476e2184f4
port to new video api
2011-07-04 16:49:55 +02:00
Wim Taymans
ead60adb33
video: port to new video apis
2011-07-04 16:49:47 +02:00
Mark Nauwelaerts
54c9b13ea7
flv: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer
* misc segment and caps changes
2011-07-04 11:50:02 +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
b307c74e9e
flvmux: pass along segment info to collectpads
...
... so it can track this and be subsequently used to determine running time etc.
2011-07-04 11:36:48 +02:00
Mark Nauwelaerts
350b9b9d2d
flvdemux: indicate raw format in aac caps
2011-07-04 11:36:46 +02:00
Mark Nauwelaerts
611c950868
qtmux: mind requested name for request pad
2011-07-04 11:07:13 +02:00
Mark Nauwelaerts
1ea692bc63
avidemux: free scheduling query
2011-07-04 11:06:54 +02:00
David Schleef
32aa80cda8
multipartmux: Add \r\n to tail of pushed buffers
...
Clients such as Firefox require the \r\n after the payload.
2011-07-03 18:27:17 -07:00
Branko Subasic
e385108f84
matroskademux: avoid looping when searching for clusters
...
Fixes some bugs that results in the demuxer looping when seaching
for clusters in non-finalized files.
https://bugzilla.gnome.org/show_bug.cgi?id=652195
2011-07-01 17:19:40 +01:00
Mark Nauwelaerts
70b561bc13
multifile: port to 0.10
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer
* misc caps handling
2011-06-30 12:35:35 +02:00
Mark Nauwelaerts
01fcf3f2ed
cutter: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer
* minor misc
2011-06-30 12:35:34 +02:00
Mark Nauwelaerts
19145ce5f5
replaygain: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer
2011-06-30 12:35:33 +02:00
Mark Nauwelaerts
8d73748509
spectrum: remove deprecated property
2011-06-30 12:35:32 +02:00
Mark Nauwelaerts
2d9bcbdf03
spectrum: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer
2011-06-30 12:35:31 +02:00
Mark Nauwelaerts
696ffc85d7
level: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer
2011-06-30 11:19:12 +02:00
Mark Nauwelaerts
d9ba4b7616
equalizer: port to 0.11
2011-06-30 10:30:16 +02:00
Debarshi Ray
c8619aa0fd
matroskaparse: fix reference counting of parse->streamheader
...
https://bugzilla.gnome.org/show_bug.cgi?id=652286
Signed-off-by: David Schleef <ds@schleef.org>
2011-06-29 23:56:53 -07:00
Mark Nauwelaerts
f886681367
isomp4: port to 0.11
2011-06-29 12:46:20 +02:00
Mark Nauwelaerts
65bb271a95
avidemux: tweak some ported segment handling
...
... to avoid losing duration during push mode seeking, and to properly
accumulate running time when segment seeking.
2011-06-29 12:16:38 +02:00
Mark Nauwelaerts
cc526d2e52
qtmux: free date tag
2011-06-29 12:05:23 +02:00
Jonas Larsson
1912c86946
aacparse: not so greedy minimum frame size
...
Fixes #653559 .
2011-06-28 12:40:27 +02:00
Miguel Angel Cabrera Moya
977a5eee7a
rtpjitterbuffer: return correct type when assertion fails
2011-06-24 11:59:01 +02:00
Wim Taymans
f0749ed617
rtsp: fix for uri changes
2011-06-22 16:41:13 +02:00
Wim Taymans
cc65bff7c1
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
docs/plugins/inspect/plugin-esdsink.xml
docs/plugins/inspect/plugin-gconfelements.xml
2011-06-21 18:24:41 +02:00
Mark Nauwelaerts
3daf1ecc21
rtpmp4adepay: fix output buffer timestamps in case of multiple frames
2011-06-21 15:15:33 +02:00
Olivier Crête
581a30d892
rtpsession: The signal has 5 arguments, not 4
2011-06-20 16:47:36 -04:00
Wim Taymans
458d163ccb
avimux: use string for video format now
2011-06-20 12:13:11 +02:00
Wim Taymans
c9b154df2f
avi: link against gstvideo now
2011-06-20 12:04:48 +02:00
Wim Taymans
b138a0906d
avi: port to new caps
2011-06-20 12:03:24 +02:00
Wim Taymans
7ef7157986
Merge branch 'master' into 0.11
2011-06-17 18:12:50 +02:00
Wim Taymans
582e18b673
autodetect: fix caps
2011-06-17 18:11:55 +02:00
Luis de Bethencourt
1a3401f1be
goom: fix unused-but-set-compiler warnings
...
Remove unnecessary res variables, core checks existance
and type of these fields for us already via the template
caps, and we know that these fields exist because we've
fixated them before in _negotiate().
2011-06-17 11:12:31 +01:00
Stefan Kost
6c3e77964a
audioecho: fix param flags
...
If the parameter cannot be changed in paused&playing, it is not controlable. Set
the appropriate mutability flag instead.
2011-06-17 03:07:09 +03:00
Wim Taymans
83678af5e0
flacparse: fix unitialized access
2011-06-15 15:17:19 +02:00
Stefan Kost
b5d5fa2bb9
matroska: add missing stdio include for sscanf
2011-06-14 01:07:57 +03:00
Wim Taymans
fdd93fa85d
Merge branch 'master' into 0.11
2011-06-13 19:08:38 +02:00
Wim Taymans
409f29700d
-good: port some more plugins
2011-06-13 17:51:40 +02:00
Wim Taymans
e221908169
rtsp: fix for flush_stop API change
2011-06-13 17:14:51 +02:00
Wim Taymans
3c889415a3
rtp: port some more (de)payloader
2011-06-13 17:14:00 +02:00
Mark Nauwelaerts
d17d6d74be
audioparsers: not so greedy minimum frame size
...
... which will be determined by parsing anyway, and avoids introducing
redundant additional latency.
2011-06-13 17:06:37 +02:00
Wim Taymans
eed80e2dd3
-good: update for buffer API change
2011-06-13 16:33:57 +02:00
Wim Taymans
9a54175e9f
rtp: port to 0.11
2011-06-13 16:33:46 +02:00
Wim Taymans
b0fbb1725f
rtp: fix for API changes in the base classes
2011-06-13 13:25:49 +02:00
Wim Taymans
ea16d8a4d8
avimux: use caps event for negotiation
2011-06-13 13:07:50 +02:00
Wim Taymans
3846eea65a
avidemux: fix for flush stop event changes
2011-06-13 13:07:27 +02:00
Raimo Järvi
4f15c9e30e
udp: Fix compiler warning on mingw-w64
...
Fixes : #652144 .
gstudpnetutils.h:32:0: error: "WINVER" redefined
/usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:231:0: note: this is the
location of the previous definition
2011-06-11 18:02:17 -07:00
Wim Taymans
43460d4357
goom: fix for bufferpool update
2011-06-11 18:58:07 +02:00
Wim Taymans
42f39385d6
goom: update for alignment change
2011-06-10 18:05:01 +02:00
Wim Taymans
c731cd3d95
rtsp: port to 0.11
2011-06-09 17:52:34 +02:00
Wim Taymans
7416c0e13e
udp: port to 0.11
2011-06-09 17:50:08 +02:00
Wim Taymans
9290baba06
goom: port goom
2011-06-09 10:50:44 +02:00
Wim Taymans
710fa239d5
Merge branch 'master' into 0.11
2011-06-08 18:06:56 +02:00
Edward Hervey
a8effacf82
debugutils: Switch from GST_BOILERPLATE to G_DEFINE_TYPE
2011-06-07 12:06:08 +02:00
Edward Hervey
8c02b650c9
videofilter: Use new GstBaseTransform::transform_caps API
2011-06-07 11:25:18 +02:00
Edward Hervey
b3a1f5d1ed
auparse: Don't use GST_BOILERPLATE
2011-06-07 11:23:55 +02:00
Edward Hervey
8c83978d56
audiofxbasefirfilter: Buffers no longer have caps
2011-06-07 11:22:35 +02:00
Edward Hervey
7505654cf7
alpha: Use new transform_caps vmethod (with filter)
2011-06-07 11:20:00 +02:00
Edward Hervey
7389cb1513
audioparsers: fix some more parsers
2011-06-06 20:43:31 +02:00
Debarshi Ray
9175a903fb
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_chapters
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:54:23 +02:00
Debarshi Ray
05778b85d5
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_attachments
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:43:12 +02:00
Debarshi Ray
d8a8326d7c
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_attached_file
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:43:04 +02:00
Debarshi Ray
366f064e73
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_info
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:42:55 +02:00
Debarshi Ray
2d282a6c79
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_metadata
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:42:46 +02:00
Debarshi Ray
493e197588
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_metadata_id_tag
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:42:33 +02:00
Debarshi Ray
febfcce0fd
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_metadata_id_simple_tag
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:41:51 +02:00
Mark Nauwelaerts
785247cfb3
rtspsrc: reset state tracking variable when appropriate
...
... so we don't end up interrupting an operation that should not be interrupted
based on the indication of a previous interruptable operation.
2011-06-06 12:59:23 +02:00
David Schleef
f6c348430e
interleave: Work around changes in g_atomic API
...
See #651514 for details.
2011-06-04 13:49:52 -07:00
Debarshi Ray
25e0da562b
matroskaparse: Use ARTIST tag instead of AUTHOR for GST_TAG_ARTIST
...
AUTHOR only existed in an old version of the spec and ARTIST is
the new replacement for this. We are still reading both to still
be compatible with old files.
Fixes bug #644875 .
2011-06-04 13:43:27 -07:00
Wim Taymans
0b1bdcf7cb
Merge branch 'master' into 0.11
...
Conflicts:
sys/ximage/ximageutil.c
2011-06-02 18:51:29 +02:00
Wim Taymans
e9eb7919c7
avi: port AVI elements to new API
2011-06-02 18:47:36 +02:00
David Schleef
0672232b26
matroskamux: For streaming files, push tags first
2011-06-01 17:20:44 -07:00
Thijs Vermeir
cdc3b20ba9
udpsrc: allow skip-first-bytes of full buffer size
2011-06-01 10:19:31 +02:00
Debarshi Ray
399fc9cd1c
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_parse_header
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 17:43:01 +02:00
Antonio Frediani
63d350ceb3
qtmux: Use GST_TAG_IMAGE for coverart too
...
Fixes bug #638107 .
2011-05-30 12:09:31 +02:00
Debarshi Ray
bc7d61abca
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_get_seek_track
- gst_matroska_{demux,parse}_reset_streams
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:57:30 +02:00
Debarshi Ray
17ff8a73d8
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska{demux,parse}_found_global_tag
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:57:06 +02:00
Debarshi Ray
eeb4d19992
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_index_seek_find
- gst_matroska{demux,parse}_do_index_seek
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:54 +02:00
Debarshi Ray
1a6e658444
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_tracknumber_unique
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:44 +02:00
Debarshi Ray
0aa35a6bcc
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_decode_data
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:38 +02:00
Debarshi Ray
b437744b70
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_get_length
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:21 +02:00
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
Debarshi Ray
5ba333bcad
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_encoding_cmp
- gst_matroska_{demux,parse}_read_track_encodings
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-27 09:10:17 +02:00
Debarshi Ray
2589f1cd2d
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_peek_id_length_pull
- gst_matroska_{demux,parse}_peek_id_length_push
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-27 09:09:33 +02:00
Debarshi Ray
f3820b61a1
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_peek_adapter
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-27 09:09:10 +02:00
Marc Leeman
ff1c05d876
rtpmp4vpay: Deprecated send-config property and replace by config-interval
...
Fixes bug #622412 .
2011-05-26 12:22:52 +02:00
Mark Nauwelaerts
74e0c05ff7
matroskademux: UTF-8 subtitles may have markup
...
Fixes #616936 .
2011-05-26 12:12:57 +02:00
David Hoyt
86f9fa785a
multipartdemux: Add property to assume a single stream and emit no-more-pads
...
Fixes bug #616686 .
2011-05-25 21:12:12 +02:00
Miguel Angel Cabrera Moya
c39b7a5359
rtspsrc: uniform unknown message handling
...
Do the same processing in all the cases when an unknown message is received.
That is, give a warning.
https://bugzilla.gnome.org/show_bug.cgi?id=651059
2011-05-25 20:06:16 +02:00
Debarshi Ray
5384308c99
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_peek_pull
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-25 20:02:40 +02:00
Debarshi Ray
72d969b360
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_peek_bytes
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-25 10:16:31 +02:00
Debarshi Ray
f885e2721a
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_{demux,parse}_encoding_order_unique
- gst_matroska_{demux,parse}_read_track_encoding
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-25 10:13:27 +02:00
Wim Taymans
f612f54a40
autodetect: port to new API
2011-05-24 18:27:10 +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
397dc60b71
pcmudepay: allow variable sample rate
2011-05-24 13:13:55 +02:00
Mark Nauwelaerts
f335fee99e
pcmadepay: allow variable sample rate
2011-05-24 13:13:52 +02:00
Debarshi Ray
b316e2346c
matroska: fixed copyright headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-24 09:53:54 +02:00
Debarshi Ray
85036682cb
matroska: refactor code common to matroskademux and matroskaparse
...
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
- gst_matroska_decode_content_encodings
- gst_matroska_decompress_data
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-24 09:53:45 +02:00
Debarshi Ray
51c7e6d252
matroska: move GstMatroska{Demux,Parse}::state to GstMatroskaReadCommon
...
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-24 09:52:50 +02:00
Jonas Larsson
090e3a6f41
qtdemux: Fix buffer leak with corrupted files
...
Fixes bug #650912 .
2011-05-24 09:48:56 +02:00
Miguel Angel Cabrera Moya
16d71c7d96
deinterlace: fix parameter type in trace
...
https://bugzilla.gnome.org/show_bug.cgi?id=650937
2011-05-24 09:45:31 +02:00
Debarshi Ray
15ce1142ca
matroska: refactor code common to matroskademux and matroskaparse
...
Replace the following functions with their gst_matroska_read_common_*
counterparts:
- gst_matroska_{demux,parse}_parse_index
- gst_matroska_{demux,parse}_parse_skip
- gst_matroska_{demux,parse}_stream_from_num
Introduce GstMatroskaReadCommon to contain those members of
GstMatroskaDemux and GstMatroskaParse that were used by the above
functions.
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-23 17:21:52 +02:00
Tim-Philipp Müller
a53540346a
flacparse: tell baseparse the duration in samples for better accuracy
...
Tell GstBaseParse the duration in samples instead of time, so that
a duration query in DEFAULT format will return the correct number
of samples without rounding errors. Baseparse will convert this
into time itself when needed.
https://bugzilla.gnome.org/show_bug.cgi?id=650785
2011-05-23 13:50:46 +01:00
Tim-Philipp Müller
1183d0c1ab
flacparse: make conversion from TIME to DEFAULT format (samples) work
...
Fix copy'n'paste error in the previous commit.
2011-05-23 13:23:21 +01:00
Sebastian Dröge
8823ae251a
flacparse: Implement conversions between TIME and DEFAULT format
...
Fixes bug #650785 .
2011-05-23 11:43:02 +02:00
Tim-Philipp Müller
e0cadab5c2
flacparse: don't error out on invalid minimum_blocksize value in streaminfo header
...
We don't use it, so may just as well accept an invalid value
of 0 here, which is likely inconsequential anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=650691
2011-05-22 18:54:18 +01:00
Stefan Kost
d122ea0122
rtp: fix static array overruns in a nicer way
...
Use G_N_ELEMENTS instead of hard-coding the array size.
2011-05-20 10:34:47 +03:00
Stefan Kost
5792d3b9c0
rtp: fix static array overruns
...
Yes array[10] has elements from 0...9.
2011-05-20 00:53:44 +03:00
Stefan Kost
9f3ae3244c
qtdemux: add missing break
2011-05-19 18:27:33 +03:00
Robert Swain
c1b100cf9c
deinterlace: Add support for deinterlacing using buffer caps/flags
...
When not using the fieldanalysis element immediately upstream of deinterlace,
behaviour should remain unchanged. fieldanalysis will set the caps and flags on
the buffers such that they can be interpreted and acted upon to produce
progressive output.
There are two main modes of operation:
- Passive pattern locking
Passive pattern locking is a non-blocking, low-latency mode of operation that
is suitable for close-to-live usage. Initially a telecine stream will be
output as variable framerate with naïve timestamp adjustment. With each
incoming buffer, an attempt is made to lock onto a pattern. When a lock is
obtained, the src pad and output buffer caps will reflect the pattern and
timestamps will be accurately interpolated between pattern repeats. This
means that initially and at pattern transitions there will be short periods
of inaccurate timestamping.
- Active pattern locking
Active pattern locking is a blocking, high-latency mode of operation that is
targeted at use-cases where timestamp accuracy is paramount. Buffers will be
queued until enough are present to make a lock. When locked, timestamps will
be accurately interpolated between pattern repeats. Orphan fields can be
dropped or deinterlaced. If no lock can be obtained, a single field might be
pushed through to be deinterlaced.
Locking can also be disabled or 'auto' chooses between passive and active
locking modes depending on whether upstream is live.
2011-05-19 05:45:57 +02:00
Jose Antonio Santos Cadenas
9d32243671
rtp: Fix segmentation fault processing payload buffers
...
This commit checks if the value returned by
gst_rtp_buffer_get_payload_buffer and
gst_rtp_buffer_get_payload_subbuffer is NULL before using it.
2011-05-18 15:25:24 +02:00
Mark Nauwelaerts
4cd2dac1da
avidemux: ensure 0-padding when correcting dubious list size
2011-05-18 14:51:11 +02:00
Stefan Kost
be413185d0
rtspsrc: use EINVAL for missing url parameter
...
Fixes gcc warning about using uninitialized variable 'res'.
2011-05-18 10:22:27 +03:00
Stefan Kost
e34ab46420
various: fix author tag in element details
2011-05-18 09:36:58 +03:00
Chris E Jones
a1b7eeceb1
auparse: implement seeking
...
Implement seeking and seeking query. Fixes #644512
2011-05-18 09:36:58 +03:00
Wim Taymans
e15651816e
Merge branch 'master' into 0.11
2011-05-17 16:13:59 +02:00
Mark Nauwelaerts
dc2ddea91b
rtspsrc: also allow PAUSE to be interrupted
...
... as it is on the way out to NULL.
See #632504 .
2011-05-17 11:56:47 +02:00
Mark Nauwelaerts
283e4e4afd
rtspsrc: ensure proper closing and cleanup
...
... since the TEARDOWN sequence might not have had a chance to even start,
but at least connections should be closed (synchronously) and state cleaned up.
See #632504 .
2011-05-17 11:56:38 +02:00
Mark Nauwelaerts
f7ddf811d7
rtspsrc: fix and improve async handling
...
Simplify the command handling; passing a command to thread means we really
want it to get the message, which means to always flush provided the command
can handle being interrupted. Command thread indicates whether command
allows interruption and ensure non-flushing connection as it subsequently
needs it.
In particular, this also makes the TEARDOWN sequence interruptable
and also prevents races where _loop_ could miss a command and would
continue receiving (or at least trying to).
See #632504 .
2011-05-17 11:56:22 +02:00
Mark Nauwelaerts
e6798ad54c
rtspsrc: tweak post-seek loop handling
2011-05-17 11:55:40 +02:00
Wim Taymans
ddfcd8bbfd
rtspsrc: open on play and pause when not done yet
...
With the async state changes, it is possible that we need to open the stream
before play and pause.
Also make sure we remember a previous open failure so that we don't keep trying
again.
2011-05-17 11:55:34 +02:00
Wim Taymans
6fe680934a
rtspsrc: improve async handling
...
Simplify the command handling, only continue looping when we have not received
another command or when the previous loop was successfull.
Avoid looping on a disconnected socket.
2011-05-17 11:55:32 +02:00
Wim Taymans
2513207433
rtspsrc: rework reconnect code
...
Use the same async code path to implement reconnects.
Make sure we only post progress messages when doing async things.
2011-05-17 11:55:29 +02:00
Wim Taymans
c27c10f8f4
rtspsrc: small cleanups
...
Make sure we cancel the previous task when queuing a new one.
Move the messages to a central place so we can more easily post them.
2011-05-17 11:55:27 +02:00
Wim Taymans
852c6e11cd
rtspsrc: don't post errors when interrupting
2011-05-17 11:55:24 +02:00
Wim Taymans
220e47adcf
rtspsrc: implement more async handling
...
Remove some old locks.
Make sure we never go into the loop function when flushing.
2011-05-17 11:55:20 +02:00
Wim Taymans
2873585238
rtspsrc: first attempt at async implementation
2011-05-17 11:55:18 +02:00
Wim Taymans
dae679e560
rtspsrc: small header cleanups
2011-05-17 11:55:15 +02:00
Sebastian Dröge
b694bfeca3
ssrcdemux: Fix uninitialized variable compiler warning for (pre-) releases too
2011-05-17 10:47:32 +02:00
Sebastian Dröge
0f05d3e5a5
rtpssrcdemux: Fix uninitialized variable compiler warning
2011-05-17 09:24:08 +02:00
Olivier Crête
b6bfc512e8
ssrcdemux: Implement iterate internal links for sink pads
...
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:29 +02:00
Olivier Crête
23b6c8febc
rtpssrcdemux: iterate pad function is only valid for src pads
...
The iterate function is only used for src pads, so mark it as such and remove
dead code.
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:25 +02:00
Olivier Crête
1bf94a92b0
rtpssrcdemux: Release lock before emitting signal
...
If the lock is not released before emitting a signal, it may cause a deadlock
if any other function in the element is called.
Also removed an unused timestamp parameter
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:20 +02:00
Debarshi Ray
4df5d896f0
matroskaparse: calculate segment duration after parsing all the IDs
...
Since the segment duration is given in terms of the
GST_MATROSKA_ID_TIMECODESCALE we should only convert it into
nanoseconds when we are sure that any scale specified in the file has
been read.
https://bugzilla.gnome.org/show_bug.cgi?id=650258
2011-05-17 09:03:50 +02:00
Wim Taymans
cf1248e566
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-05-16 17:52:11 +02:00
Wim Taymans
a0e301ab1a
-good: fix for new API
2011-05-16 17:50:15 +02:00
Mark Nauwelaerts
8b910885ec
matroskademux: additional lock safety
...
Fixes #619590 .
2011-05-16 13:30:10 +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
Debarshi Ray
bdc464a778
matroskademux: calculate segment duration after parsing all the IDs
...
Since the segment duration is given in terms of the
GST_MATROSKA_ID_TIMECODESCALE we should only convert it into
nanoseconds when we are sure that any scale specified in the file has
been read.
https://bugzilla.gnome.org/show_bug.cgi?id=650258
2011-05-16 08:56:06 +02:00
Andoni Morales Alastruey
5b99b910ec
flvmux: Add support for mpegversion 2, which is also AAC
2011-05-14 11:52:13 +02:00
Sebastian Dröge
88203989cd
wavenc: Set fixedcaps getcaps function on the sinkpad
...
wavenc does not allow to change the caps during playback
and always returning the template caps is just wrong.
2011-05-14 11:52:12 +02:00
Sebastian Dröge
f8ed8dd613
wavenc: Allow setcaps to be called after a format was negotiated if it's compatible
...
Otherwise wavenc will fail if upstream decides to set equivalent caps or caps
with additional information later.
Thanks to Alexander Schremmer for finding this bug.
2011-05-14 11:52:12 +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
Mark Nauwelaerts
fc94b78fe1
matroskamux: avoid building index when streamable
...
... as it will not be written anyway.
Fixes #648937 (?).
2011-05-04 13:12:16 +02:00
Tom Janiszewski
b9c2f8b38f
flvmux: don't overwrite metadata tag with duration in streaming mode
...
A duration tag gets inserted only for streamable=false, so only
update/write the duration later if we actually inserted that tag,
otherwise we write garbage into other tags.
https://bugzilla.gnome.org/show_bug.cgi?id=649060
2011-05-01 14:13:50 +01: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
Wim Taymans
63a17f4ec9
audioparsers: fix some parsers
2011-04-29 17:55:28 +02:00
Wim Taymans
b121bb0ae9
audiofx: fix pad_alloc
2011-04-29 15:46:21 +02:00
Wim Taymans
31ffc671f2
rtpgstpay: fix buffer leak
2011-04-26 16:04:07 +01:00
Wim Taymans
eb84592cad
rtpgstpay: fix buffer leak
2011-04-26 15:58:12 +02:00
Wim Taymans
9a96783abb
rtp: port some more elements
2011-04-25 18:14:45 +02:00
Wim Taymans
bf9b4f8362
rtp: port more to 0.11
2011-04-25 17:27:40 +02:00
Wim Taymans
60db07b4bb
rtp: port some more (de)payloaders
2011-04-25 13:16:58 +02:00
Wim Taymans
237ca1631f
port some more elements to 0.11
2011-04-25 12:49:36 +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
Tim-Philipp Müller
234fd201c9
quicktime: rename plugin filename from *qtdemux* to *quicktime*
...
https://bugzilla.gnome.org/show_bug.cgi?id=648004
2011-04-24 14:14:27 +01:00
Tim-Philipp Müller
3346a53374
docs: add various qtmux variants to documentation
2011-04-21 23:30:26 +01:00
Tim-Philipp Müller
0671b2325e
quicktime: register 3gppmux element in addition to the misnamed gppmux
2011-04-21 22:51:52 +01:00
Olivier Crête
42531337f5
rtpsession: Remove incomplete support for RTCP FIR
...
Remove bits that were meant to suppport RTCP FIR
https://bugzilla.gnome.org/show_bug.cgi?id=648160
2011-04-20 07:50:43 +01:00
Wim Taymans
77acc618e1
use G_DEFINE_TYPE some more
2011-04-19 17:35:47 +02:00
Wim Taymans
a80f3a5d74
avi: use G_DEFINE_TYPE
2011-04-19 17:20:19 +02:00
Wim Taymans
dea50d0b98
use G_DEFINE_TYPE
2011-04-19 17:07:18 +02:00
Wim Taymans
d67288dd03
Merge branch 'master' into 0.11
2011-04-19 16:25:28 +02:00
Tim-Philipp Müller
bb23575f6b
flvdemux: fix deadlock on setting index on flvdemux
2011-04-19 14:34:48 +01:00
Wim Taymans
4aa6ca5578
port more plugins to 0.11
2011-04-18 10:54:43 +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
9be707d54d
gst: update disted orc backup code
2011-04-16 18:49:27 +01:00
Tim-Philipp Müller
cf953fe923
qtmux: refuse incomplete legacy h264 caps
...
Refuse h264 caps without stream-format and codec_data fields for
now, to avoid creating broken files. This might cause some pipelines
that worked previously to fail. However, the move from -bad to -good
is our only chance to fix this up, so make it strict for now. We can
always change it back to be less strict in future.
https://bugzilla.gnome.org/show_bug.cgi?id=647919
2011-04-16 18:17:01 +01:00
Tim-Philipp Müller
f325935314
pulse, speexenc, rtpgsmpay: don't use g_assert() for error handling
...
Don't use g_assert() for error handling, even if they're highly unlikely.
Either we *know* that something can't happen, in which case we
should just not handle it, or we think something can happen, but it is
very very unlikely that it will ever happen, in which case we should
handle it like any other error instead of asserting.
g_assert() is best left for conditions we have control of, like checking
internal consistency of our code, not checking return values of external
code.
Fixes a bunch of warnings when compiling with -DG_DISABLE_ASSERT:
gstrtpgsmpay.c: In function 'gst_rtp_gsm_pay_handle_buffer':
gstrtpgsmpay.c:130:17: warning: variable 'rtpgsmpay' set but not used
gstspeexenc.c: In function 'gst_speex_enc_encode':
gstspeexenc.c:904:19: warning: variable 'written' set but not used
pulsesink.c: In function 'gst_pulsesink_change_state':
pulsesink.c:2725:9: warning: variable 'res' set but not used
pulsesrc.c: In function 'gst_pulsesrc_change_state':
pulsesrc.c:1253:7: warning: variable 'e' set but not used
2011-04-16 18:15:43 +01:00
Tim-Philipp Müller
c2bc6327cd
deinterlace, matroska: fix two variable-may-be-used-uninitialized compiler warnings
...
We use -DG_DISABLE_ASSERT for the pre-releases, which makes these
warnings pop up in cases that were previously covered by g_assert_not_reached()
and the like:
tvtime/greedyh.c:801:14: warning: 'scanline' may be used uninitialized in this function
matroska-mux.c:501:19: warning: 'context' may be used uninitialized in this function
2011-04-16 16:51:32 +01:00
Sebastian Dröge
8a4ae3dd2d
apedemux: Port to 0.11
2011-04-16 14:45:25 +02:00
Robert Swain
b5c8c7708b
y4mencode: shapewipe: Address unused but set variables
...
GCC 4.6.x complains about such usage.
2011-04-16 13:12:50 +01:00
Robert Swain
e757793b21
videomixer: Fix argb/rgba overlay orc code
...
Remove some redundant operations (convubw) and use the correct variable,
t2, in the orc_overlay_bgra function.
2011-04-16 13:00:49 +01:00
Robert Swain
fd6ac6aa8a
videomixer: address unused but set variables
...
GCC 4.6.x spits warnings about variables that are set but unused. Such
variables have been removed in blend, collectpads2 and videomixer2.
2011-04-16 12:52:49 +01:00
Robert Swain
5b18c652fb
rtp, rtpmanager: Address unused but set variables
...
GCC 4.6.x spits warnings about variables that are unused but set. Such
variables have been removed where trivial but with comments left behind
for informational purposes in some cases.
gst_rtp_session_chain_recv_rtcp () was changed in commit 490113d4
to always return GST_FLOW_OK instead of the return value of
rtp_session_process_rtcp (), so we'll keep it that way.
2011-04-16 12:49:16 +01:00
Robert Swain
1c6e8682ec
quicktime: Remove unused but set variables
...
GCC 4.6.x spits warnings about such variable usage. Note that some
calculations are left as comments for informative purposes.
2011-04-16 12:46:12 +01:00
Robert Swain
d596c2e926
matroska: Remove unused but set variables
...
GCC 4.6.x spits warnings about such variable usage.
2011-04-16 12:40:53 +01:00
Robert Swain
101087a23a
imagefreeze: Remove unused but set duration variable
...
GCC 4.6.x spits warnings about such variable usage.
2011-04-16 12:40:40 +01:00
Robert Swain
383e99c224
flxdemux: Remove unused but set keyframe variables
...
The FIXMEs about the keyframe flag never being used are left for later
fixing, at which point the keyframe variables could be added back.
2011-04-16 12:40:30 +01:00
Robert Swain
358fa0bc7a
edgetv: Remove unused but set height variable
...
GCC 4.6.x spits warnings about such variables.
2011-04-16 12:40:17 +01:00
Tim-Philipp Müller
a0205ecd51
flacparse: update for gst_base_parse_frame_init() API change
2011-04-15 18:51:20 +01:00
Olivier Crête
9d9257916b
rtpsession: Use existing functions to parse RTCP FB packets
...
Use existing functions to get the FCI from FB packets.
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:48:04 +01:00
Olivier Crête
5ccd964d86
rtpsession: marshal GstBuffer as a MiniObject instead of a pointer
...
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:47:40 +01:00
David Schleef
41f3b30010
matroskademux: Better calculation of framerate
...
https://bugzilla.gnome.org/show_bug.cgi?id=647833
2011-04-15 12:27:57 +01:00
Tim-Philipp Müller
c8b5014892
qtmux: default to dts-method=reorder and presentation-time=true
...
https://bugzilla.gnome.org/show_bug.cgi?id=636699
2011-04-15 12:19:34 +01:00
Mark Nauwelaerts
4df05e76ed
qtmux: fix corner case buffer handling for reorder method
2011-04-15 12:49:02 +02:00
Sebastian Dröge
283b30e312
flvdemux: Don't leak the SEEKING query
2011-04-14 13:47:05 +02:00
Sebastian Dröge
bf046e0430
qtmoovrecover: Don't leak the static recursive mutex
2011-04-14 13:43:06 +02:00
Sebastian Dröge
54349be39f
matroskaparse: Allow webm and matroska caps and don't leak caps
2011-04-14 13:27:27 +02:00
Tim-Philipp Müller
eb15dcb473
capsdebug: fix unused-but-set-variable warnings with gcc 4.6
2011-04-13 17:22:19 +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
Tim-Philipp Müller
063b3d9dcd
ac3parse: fix unused-but-set-variable warning with gcc 4.6
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
c8a15a097a
videobalance: fix handling of YUV images with 'odd' widths
...
Fixes unused-but-set-variable warnings with gcc 4.6.
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
d1d3e3ea02
videoflip: fix unused-but-set-variable warnings with gcc 4.6
2011-04-13 17:22:19 +01:00
Sebastian Dröge
6f480ad0ed
audiowsinc{band,limit}: Fix check for divison by zero
2011-04-13 18:11:34 +02:00
Sebastian Dröge
de7a976531
audiowsincband: Fix range of kernel elements (lim -> lim-1)
2011-04-13 18:01:01 +02:00
Sebastian Dröge
4fd5fea2b2
audiowsinclimit: Add some more braces to make the code more readable
2011-04-13 18:00:44 +02:00
Jordi Burguet-Castell
766e437af1
audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters
2011-04-13 17:57:06 +02:00
Sebastian Dröge
2575cfc4a6
audiowsincband: Add new windowing functions: gaussian, cos and hann
2011-04-13 17:52:30 +02:00
Jordi Burguet-Castell
782d6af83d
audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann
2011-04-13 17:52:30 +02:00
Tim-Philipp Müller
d3a24dc842
matroskademux: set stream-format=byte-stream on h264 caps if there's no codec data
...
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2011-04-13 16:47:05 +01:00
Thiago Santos
c385a46438
qtmux: restrict h264 some more to only accept AU-aligned AVC
...
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2011-04-13 16:38:33 +01:00
Sebastian Dröge
4250ff5994
mpegaudioparse: The VBRI header is always at offset 0x20, independent of MPEG version
...
Also clean up advancing of the data pointer a bit.
Fixes bug #647659 .
2011-04-13 17:12:47 +02:00
Tim-Philipp Müller
025417f124
qtmux: add variant-less video/quicktime to source pad template caps
...
This is needed for automatic transcoding using encodebin. Our typefinder
does not always add a variant to the found caps, and encodebin needs
an *exact* match to the caps on the source pad template, so we need
to add the variant-less video/quicktime caps to the template as well
for encodebin to be able to find it. Add unit test for this as well.
https://bugzilla.gnome.org/show_bug.cgi?id=642879
2011-04-13 15:21:59 +01:00
Tim-Philipp Müller
4d780297d8
quicktime: move qtmux plugin from -bad to -good
...
https://bugzilla.gnome.org/show_bug.cgi?id=636699
2011-04-13 11:55:59 +01:00
Mark Nauwelaerts
6630f7def2
qtmux: more helpful debug error message when no needed duration on input buffers
...
Fixes #646256 .
2011-04-12 20:32:21 +01:00
Thiago Santos
aba8000188
qtmux: Adding GstTagXmpWriter interface
...
Adds GstTagXmpWriter interface support to qtmux
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
d178329eb0
qtmux: use running time for synchronization
...
See also #432612 .
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
a4fad64141
qtmux: provide for PTS metadata when so configured
...
... and not only when sort-of feeling like it.
In any case, if it turns out all really is in order,
and presumably DTS == PTS, then no ctts will be produced anyway.
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
31c26a4551
qtmux: also track original PTS buffer timestamp in reorder dts-method
2011-04-12 20:32:21 +01:00
Edward Hervey
0a884e5620
Revert "Check that collectpads exists before removing pad"
...
This reverts commit 6d8740476c
.
Depends on a core commit that was reverted
2011-04-12 20:32:21 +01:00
David Schleef
fe3a5c3f08
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-04-12 20:32:21 +01:00
Mark Nauwelaerts
20e4bdee32
qtmux: set src pads when starting file
...
... rather than at _init time, so they are also available following a
pad (de)activation cycle.
https://bugzilla.gnome.org/show_bug.cgi?id=639338
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
ae644937fc
qtmux: adjust nasty case timestamp tracking
...
That is, all sorts of problems arise with re-ordered input timestamps that
tend to defy automagic handling for every case, so allow for a few variations
that can be tried depending on circumstances.
Also try to document accordingly.
Also fixes #638288 .
2011-04-12 20:32:20 +01:00
Felipe Contreras
62c728464e
qtmux: get rid of timestamp overprotectiveness
...
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
b6945d4afe
qtmux: simplify and fix pts_offset storing
...
In particular, only write a ctts atom if and only if ever a non-zero offset.
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
b852dde2db
qtmux: add some more documentation
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
60c8ed21d5
qtmux: remove large-file property
...
Rather, auto-determine if 64-bits fields are needed for a valid result, and
stick to plain 32-bits if not needed.
API: GstQTMux:large-file (removed)
2011-04-12 20:32:20 +01:00
Sebastian Dröge
d8a690e64c
qtmux: Free AtomInfo structs
2011-04-12 20:32:20 +01:00
Sebastian Dröge
6e350ec961
qtmux: Free tag string after use
2011-04-12 20:32:20 +01:00
Lasse Laukkanen
02bdefd9ba
qtmux: allow zero duration tracks
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
07be810e0e
qtmux: add documentation
2011-04-12 20:32:20 +01:00
David Hoyt
62484ac805
qtmux: handle msvc ftruncate incompatibility
...
Fixes #636185 .
2011-04-12 20:32:20 +01:00
Alejandro Gonzalez
04b0a37f87
qtmux: gst_qtmux_check_difference verify before subtract
...
Avoid negative overflow by checking the order of operands
on subtraction of unsigned integers.
https://bugzilla.gnome.org/show_bug.cgi?id=635878
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
9c198ffeed
qtmux: remove remnant of obsolete property
2011-04-12 20:32:20 +01:00
Marc-André Lureau
bee00aa70f
qtmux: allow specifying trak timescale
...
This is mainly because Smoothstreaming client are broken and don't
take the TimeScale property into account.
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
92b8a00ac8
qtmux: include sdtp atoms for ismv fragmented files
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
f490e3a868
qtmux: enable default fragmented file for ismlmux
2011-04-12 20:32:19 +01:00
Marc-André Lureau
7a447b4372
qtmux: add ismlmux, for fragmented isml major brand
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
50464d5f93
qtmux: finalize sinkpads list
2011-04-12 20:32:19 +01:00
Marc-André Lureau
bd0d320d6c
qtmux: add moov in streamheader
2011-04-12 20:32:19 +01:00
Marc-André Lureau
61964eb109
qtmux: add streamable property to avoid building fragmented mfra index
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
26a281bdab
qtmux: add mfra to fragmented file
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
4b64dc2f3e
qtmux: optionally create fragmented file
...
In this mode, an initial empty moov (containing only stream metadata) is written,
followed by fragments containing actual data (along with required metadata).
New fragments are started either at keyframe (if such are sparse) or when
property configured duration exceeded.
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
Fixes #632911 .
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
c61dc2ec4a
qtmux: use helper to set atom flags from given uint
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
69d07466e0
qtmux: refactor configuring and sending of moov
...
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
35e028f33b
qtmux: refactor extra top-level atom handling
...
Also check a bit more for possible errors, and free proper items in such case.
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
79f565f962
qtmux: refactor slightly using buffer helper
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
1e3da91bd1
qtmux: fix misinforming comment
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
ce865cc374
qtmux: delegate mvex handling to atoms
...
... which keeps qtmux simpler.
2011-04-12 20:32:19 +01:00
Marc-André Lureau
2618cb03af
qtmux: add mvex/trex in header if fragmented
...
One "trex" is added per "trak". We don't support default values,
but the "trex" box is mandatory.
2011-04-12 20:32:18 +01:00
Marc-André Lureau
9100168eae
qtmux: add a couple of fourcc for fragmented mp4
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
c35074499a
qtmux: avoid removing temp file when error occurred
2011-04-12 20:32:18 +01:00
Marc-André Lureau
c2718fdd5f
qtmux: truncate buffer file after each send
2011-04-12 20:32:18 +01:00
Marc-André Lureau
3e6a415e52
qtmux: remove temp file when reset/finalize
2011-04-12 20:32:18 +01:00
Stefan Kost
1d1ffe234f
various (gst): add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
a5edbe38a0
qtmux: prevent infinite loop when adjusting framerate
...
Fixes #632070 .
2011-04-12 20:32:18 +01:00
Thiago Santos
5ccc066c98
qtmux: Add G_PARAM_STATIC_STRINGS
...
Add G_PARAM_STATIC_STRINGS to qtmux properties
2011-04-12 20:32:18 +01:00
Thiago Santos
7065a65ec8
qtmux: Follow xmp serialization guidelines closer
...
qt and isom variants have different ways of serializing
xmp, follow these guidelines.
Those can be found in Adobe's xmp docs.
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
365b419216
qtmux: autodetect out-of-order input timestamps and determine DTS accordingly
...
Favour using input buffer timestamps for DTS, but fallback to using buffer
duration (accumulation) if input ts detected out-of-order.
Fixes #624212 .
2011-04-12 20:32:18 +01:00
Marc-André Lureau
9e79307431
qtmux: use caps bitrate at last chance
...
If we didn't get the stream's bitrate from one of the atoms,
try getting it from the caps as a last resort.
https://bugzilla.gnome.org/show_bug.cgi?id=625496
2011-04-12 20:32:18 +01:00
Marc-André Lureau
da6bfa460d
qtmux: btrt - max bitrate before average
...
According to iso base media file format, the max bitrate
is before the avg
https://bugzilla.gnome.org/show_bug.cgi?id=625496
2011-04-12 20:32:18 +01:00
Arun Raghavan
9e5c575b49
qtmux: Write 'btrt' atom for H.264 media if possible
...
This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
media if either or both of average and maximum bitrate are available for
the stream.
https://bugzilla.gnome.org/show_bug.cgi?id=623678
2011-04-12 20:32:18 +01:00
Arun Raghavan
4b4398c9dd
qtmux: Write avg/max bitrate to ESDS if available
...
This collects the 'bitrate' and 'maximum-bitrate' tags on the
corresponding pad and uses these to populate these fields in the ESDS
where applicable.
https://bugzilla.gnome.org/show_bug.cgi?id=623678
2011-04-12 20:32:18 +01:00
Edward Hervey
099ad6380f
qtmux: Don't use bogus codec/format tags
...
https://bugzilla.gnome.org/show_bug.cgi?id=623365
2011-04-12 20:32:17 +01:00
Thiago Santos
ac7f4cba67
qtmux: Write uint tags that don't have a complement
...
Write uint tags that have complements (e.g. track-number/
track-count) even when we only have one of them available
and set the other one to 0.
Fixes #622484
2011-04-12 20:32:17 +01:00
Edward Hervey
0fa380b199
qtmux: Remove the pad from our internal list before calling collectpads
...
Previously we would end up with the collectpaddata structure already freed.
This would result in a bogus iteration of mux->sinkpads (all the
GstQTPad being freed) and it wouldn't be removed from that list.
Finally, due to it not being removed from that list, we would end up
calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT
2011-04-12 20:32:17 +01:00
David Schleef
4bb9ffa8fb
qtmux: Add VP8
2011-04-12 20:32:17 +01:00
Tim-Philipp Müller
48880abb5b
qtmux: use GStreamer package name and origin in the plugin info
2011-04-12 20:32:17 +01:00
Tim-Philipp Müller
1663c51243
qtmux: init debug category before using it
2011-04-12 20:32:17 +01:00
Benjamin Otte
6f27e4e488
Add -Wold-style-definition
...
and fix the warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
c4161b3c33
Add -Wwrite-strings
...
and fix its warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
62be91708f
Add -Wmissing-declarations -Wmissing-prototypes to configure flags
...
And fix all warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
af347a9545
gst_element_class_set_details => gst_element_class_set_details_simple
2011-04-12 20:32:17 +01:00
Thiago Santos
281ef57d2b
qtmux: Use xmp on mp4mux and gppmux too
...
Do not restrict xmp to qtmux, but use it too
on mp4mux and gppmux
2011-04-12 20:32:17 +01:00
Thiago Santos
a740adc137
qtmux: add xmp support
...
Adds xmp metatags adding to qtmux.
Fixes #609539
2011-04-12 20:32:16 +01:00
Tim-Philipp Müller
f9bba010fa
qtmux: fix GST_ELEMENT_ERROR usage
...
We need to pass (NULL) rather than NULL for empty arguments.
2011-04-12 20:32:16 +01:00
Rob Clark
ae0d32843e
qtmux: fix compile error
...
gst/quicktime/gstqtmoovrecover.c:268: warning: format not a string literal and no format arguments
https://bugzilla.gnome.org/show_bug.cgi?id=612454
2011-04-12 20:32:16 +01:00
Thiago Santos
8d86f34871
qtmux: Rename 'avc-sample' to 'avc' in caps
...
Fixes #606662
2011-04-12 20:32:16 +01:00
Michael Smith
8b3aca9070
qtmux: Take lock around use of (non-threadsafe) tagsetter interface.
2011-04-12 20:32:16 +01:00
Thiago Santos
953aa983bb
qtmux: write all udta children atoms
...
UDTA might have META and other children atoms
together, write them all.
2011-04-12 20:32:16 +01:00
Thiago Santos
c92785e1c2
qtmux: Use internal sink pads list
...
Due to GstCollectPads sink pads list being not reliably
iteratable (when not inside the collected function) this
patch adds a sink pads list to qtmux to be used when iterating
sink pads on reset function.
Fixes #609055
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
589f70955c
qtmux: prevent leaking hdlr name
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
bcc9fe0463
qtmux: support for ALAC
...
Fixes #580731 .
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
76b6997b55
qtmux: refactor building stsd entry 'wave' extension
2011-04-12 20:32:16 +01:00
Thiago Santos
528846c5a1
qtmux: atomsrecovery: Fix compilation problem
...
Fixes a compilation error due to unused function result.
2011-04-12 20:32:16 +01:00
Thiago Santos
b692f9ffb0
qtmux: Adds moov recovery feature
...
Adds a new property to qtmux that sets a path to a file to write
and update data about the moov atom (that is not writen till the
end of the file). If the pipeline/app crashes during execution it
might be possible to recover the movie using the qtmoovrecover element.
qtmoovrecover is an element that is also a pipeline. It is not
meant to be used with other elements (it has no pads). It is merely
a tool/utilitary to recover unfinished qtmux files.
Fixes #601576
2011-04-12 20:32:16 +01:00
Michael Smith
3c0e4d8267
qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
...
buffer that we then won't use at all.
2011-04-12 20:32:15 +01:00
Michael Smith
d784a8da6a
qtmux: handle muxing adpcm correctly.
2011-04-12 20:32:15 +01:00
Michael Smith
5f1941a000
qtmux: Set the mdia hdlr name field to what quicktime uses. Fix writing it
...
since it's not null-terminated. Improves compatibility with some hardware
players.
2011-04-12 20:32:15 +01:00
Michael Smith
2d3dc1653b
qtmux: endianness in gstreamer is an int, not boolean.
2011-04-12 20:32:15 +01:00
Mark Nauwelaerts
150f9ad64d
qtmux: streamline moov data memory storage
...
In particular, use arrays rather than (double) linked lists.
2011-04-12 20:32:15 +01:00
Thiago Santos
6dc515bfa7
qtmux: g_free is NULL safe
2011-04-12 20:32:15 +01:00
Benjamin Otte
6569e9587c
[cleanup] Various style and cleanups
...
Various fixes for gtk-doc warnings and making functions without
arguments take void as parameter.
2011-04-12 20:32:15 +01:00
Thiago Santos
33bf180eaa
qtmux: Actually use new caps info on renegotiation
...
Following the previous qtmux commit, this patch tries
to use the new info added to the caps to fill the 'trak'
atom's fields and children atoms. This way qtmux will
use the late added 'codec_data' when h264parse adds
it in the following pipeline:
videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov
2011-04-12 20:32:15 +01:00
Thiago Santos
a5f22f03aa
qtmux: Do caps renegotiation when it only adds fields
...
Qtmux can accept caps renegotiation if the new caps is a
superset of the old one, meaning upstream added new info to
the caps. This patch still doesn't make qtmux update any
atoms info from the new info, but at least it doesn't
reject the new caps anymore.
A pipeline that reproduces this use case is:
videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov
2011-04-12 20:32:15 +01:00
Mark Nauwelaerts
6beda8aae0
qtmux: provide request pads under wider conditions
...
Fixes #606859 .
2011-04-12 20:32:15 +01:00
Thiago Santos
45458c44a4
qtmux: Only accept avc-sample h264
...
qtmux and mp4mux should only accept h264 in avc-sample
format
2011-04-12 20:32:15 +01:00
Thiago Santos
87450c1b6e
Rename aac's stream-format 'none' to 'raw'
...
Renames aac's stream-format from previous commits from none to
raw
2011-04-12 20:32:15 +01:00
Thiago Santos
cbc0b053ee
qtmux: Only accept stream-format='none' aac
...
Only accept raw aac streams (stream-format=none) to avoid
generating invalid files.
Fixes #604925
2011-04-12 20:32:15 +01:00
Stefan Kost
02d1035571
qtmux: also add .h file changes to unbreak the build
2011-04-12 20:32:14 +01:00
Stefan Kost
05257feb87
qtmux: use correct names from template for request pads
...
The pads where names pad0, pad1, ...
2011-04-12 20:32:14 +01:00
Stefan Kost
7d9ed16bbe
qtmux: move errors _new_pad to the end
2011-04-12 20:32:14 +01:00
Thiago Santos
592171b9b5
qtmux: Accept non-paired uint tags
...
Adds support for unpaired unsigned interger tags
2011-04-12 20:32:14 +01:00
Thiago Santos
9a6514e4a7
qtmux: Adds new tags
...
Maps more tags that are already posted by qtdemux
Fixes #599759
2011-04-12 20:32:14 +01:00
Thiago Santos
c5f6e74db9
qtmux: support more of j2k
...
Reads the new caps added to qtdemux by commit
c917d65e6d
and adds its corresponding atoms.
Also adds support for image/x-jpc as it is the same
as image/x-jp2, except that the buffers need to be
boxed inside a jp2c isom box before muxing. To solve
this the QTPads now have a function that (if
not NULL) is called when a buffer is collected. This
function returns a replacement to the current collected
buffer.
Fixes #598916
2011-04-12 20:32:14 +01:00
Thiago Santos
083f825c43
qtmux: Maps 'classification' tag for 3gpp files
...
Adds the mapping of 'classification' tags to writing of
'clsf' atoms for gppmux.
Based on a patch by: Lasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>
2011-04-12 20:32:14 +01:00
Michael Smith
a597bd7273
qtmux: remove c++ comments and add some more comments.
2011-04-12 20:32:14 +01:00
Michael Smith
d74567ca94
qtmux: add ima adpcm support
2011-04-12 20:32:14 +01:00
Thiago Santos
79a9031c16
qtmux: replace _scale with _scale_round
...
Use the rounding version for improved sync between streams.
Small variations in the duration when muxing might lead to
cumullative wrong timestamping when demuxing.
Fixes #602936
2011-04-12 20:32:14 +01:00
Thiago Santos
259c204f42
qtmux: use timestamps for muxing
...
Try to use timestamps even when the stream has out of order
timestamps, only fall back to durations when we detect an
out of order buffer. Improves sync between streams.
2011-04-12 20:32:14 +01:00
Thiago Santos
e62be695a1
qtmux: fix missing debug argument
...
Adds a missing debug argument
2011-04-12 20:32:14 +01:00