Tim-Philipp Müller
89521166b2
flvmux: don't try to push already-freed buffers
...
Fixes unit test.
2011-12-25 14:23:29 +00:00
Mark Nauwelaerts
b175d1cbc4
flvmux: properly determine final duration
...
... which can be authoratively obtained from our own written timestamps.
2011-12-19 17:45:07 +01:00
Mark Nauwelaerts
fa5c02b211
flvmux: only write full metadata at start
...
... rather than having (potentially) unnecessary duplicates written all over,
or even contradictory varying filesize info, or duration info that will not
be rewritten upon header rewrite.
2011-12-19 17:45:04 +01:00
Mark Nauwelaerts
8c32195d51
flvmux: use GstCollectPads2 buffer callback and running time clipper
...
... since the default collection heuristics suffice.
2011-12-19 17:45:01 +01:00
Mark Nauwelaerts
50be1d5dae
flvmux: use GstCollectPads2 event callback
...
... in stead of local HACK.
2011-12-15 16:49:41 +01:00
Vincent Penquerc'h
44d001346a
flxmux: port to GstCollectPads2
2011-12-14 18:52:37 +00: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
Tim-Philipp Müller
668e15598b
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
sys/v4l2/gstv4l2object.c
2011-12-08 01:28:26 +00:00
Vincent Penquerc'h
7a7db8cbaf
flvdemux: fix discontinuity threshold check when timestamps go backwards
...
Since unsigned types are used, a negative value would show as very, very
positive.
Fixes A/V sync on some... less than well made files where timestamps go
backwards.
2011-12-03 17:30:10 +00: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
Vincent Penquerc'h
21d3faa400
flvdemux: fix seeking
...
Which I accidentally broke when fixing flv videos breaking on
spurious timestamp discontinuities in broken files.
https://bugzilla.gnome.org/show_bug.cgi?id=631430
2011-11-25 16:03:59 +00:00
Matej Knopp
1e5dd9e315
Fix printf format compiler warnings on OS X / 64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Wim Taymans
f8e988a94c
update for activation changes
2011-11-21 13:37:01 +01:00
Wim Taymans
6e4fb21331
update for new scheduling query
2011-11-18 17:59:16 +01:00
Wim Taymans
b7aa7bca52
add parent to activate functions
2011-11-18 13:57:20 +01:00
Wim Taymans
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
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
Raul Gutierrez Segales
91af805636
gst/flv/: add amfdefs.h to noinst_HEADERS
...
https://bugzilla.gnome.org/show_bug.cgi?id=663334
2011-11-07 17:28:38 +00:00
Vincent Penquerc'h
cf3f3f14da
flvdemux: detect large pts gaps and resync
...
Should work on multiple gaps, but tested on only one.
https://bugzilla.gnome.org/show_bug.cgi?id=631430
2011-11-07 12:38:49 +00:00
Wim Taymans
e038ab5a0b
tags: update for tag API removal
2011-11-02 12:09:20 +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
Stas Sergeev
6b168ffb44
flvdemux: be careful with negative cts
...
Fixes #661477 .
2011-10-28 12:31:15 +02:00
Wim Taymans
facda96308
Merge branch 'master' into 0.11
...
Conflicts:
gst/flv/gstflvmux.c
2011-10-27 19:06:06 +02:00
Wim Taymans
9c14280b1d
make some more things compile again
2011-10-27 19:00:52 +02:00
Jan Schmidt
f6255bb8d0
flvmux: add some comments and defines to clarify code.
2011-10-27 00:41:29 +11: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
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
Tim-Philipp Müller
b843f8f99c
gst: udpate for position/duration/convert query API changes
2011-07-28 11:38:31 +01: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
Wim Taymans
cf1248e566
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-05-16 17:52:11 +02:00
Andoni Morales Alastruey
5b99b910ec
flvmux: Add support for mpegversion 2, which is also AAC
2011-05-14 11:52:13 +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
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
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
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
Sebastian Dröge
283b30e312
flvdemux: Don't leak the SEEKING query
2011-04-14 13:47:05 +02:00
Mark Nauwelaerts
c539fc40dd
flvdemux: simplify framerate fraction calculation
2011-04-12 11:50:08 +02:00
Leonardo Sandoval
071b90059f
flvdemux: add width, height and framerate to caps when present on onMetaData
...
Fixes #640483 .
2011-04-12 10:48:21 +02:00
Thibault Saunier
b541208b77
android: Make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Zaheer Abbas Merali
d44d498aa4
flv: Specify the only possible stream-format for h264 in the pad templates.
2011-04-04 10:35:03 +01:00
Jan Urbański
9c5a12c11f
flvdemux: Do not build an index if upstream is not seekable
...
An index is not useful if upstream cannot handle seeks and building it
for infinite files, for instance FLV streams, results in a memory leak.
2011-03-28 19:53:59 +02:00
Mark Nauwelaerts
87e1b06cac
flvmux: use running time for synchronization
...
Fixes #432612 .
2011-03-22 20:55:41 +01:00
Edward Hervey
6e1c701502
Revert "Check that collectpads exists before removing pad"
...
This reverts commit 8e6b876e76
.
Depends on a core commit that was reverted
2011-02-21 12:25:19 +01:00
David Schleef
8e6b876e76
Check that collectpads exists before removing pad
...
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:46:01 -08:00
David Schleef
63bb9807a3
flvmux: don't set duration for live stream
2011-02-17 18:05:43 -08:00
Stefan Kost
99e4bdd8f2
avidemux, flvdemux: formatting cleanup
...
Trim trailing whitespaces and fix the formatting of double negation.
2011-02-17 14:13:36 +02:00
Stefan Kost
ade128a002
avidemux, flvdemux: mark delta-units in the index
...
We need to use the 'delta' flag for delta units and not the 'none' flag.
2011-02-17 14:13:36 +02:00
Mark Nauwelaerts
6f8ce30c20
flvdemux: use aac codec-data to adjust samplerate if needed
...
Based on patch by Fabien Lebaillif-Delamare <fabien@arq-media.com>
Fixes #636621 .
2010-12-07 13:12:02 +01:00
Edward Hervey
8eb0de13df
flvdemux: Refactor tag pushing logic
...
The logic of when to push was wrong also (resulting in some tags never
being pushed).
2010-12-03 14:53:48 +01:00
Edward Hervey
4fde700113
flvdemux: Use pbutils for codec descriptions
2010-12-03 14:53:47 +01:00
Tom Janiszewski
05cc505289
flvmux: Fix for nellymoser codecid setting
...
Fixes bug #632897 .
2010-12-02 19:18:03 +01:00
Andoni Morales Alastruey
0bffae750b
flvmux: resend onMetada tag when tags changes in streamable mode
2010-10-06 09:14:24 +02:00
Wim Taymans
9e7b890a22
flvdemux: parse and use cts
...
For H264, there is an extra header containing the CTS, which is a timestamp
offset that should be applied to the PTS. Parse this value and use it to adjust
the pts.
Fixes #630088
2010-09-23 16:46:31 +02:00
Wim Taymans
77f02c2d7e
flvdemux: improve pts debugging
2010-09-23 16:45:41 +02:00
Sebastian Dröge
78eca34a6d
flvdemux: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:09 +02:00
Andrzej K. Haczewski
0b5172eb06
flvmux: Write duration at the correct position
2010-07-02 14:25:22 +02:00
Zaheer Abbas Merali
8269a028a0
flvmux: add documentation for streamable property
2010-06-17 17:24:22 +01:00
Thiago Santos
c27dc49bf7
flvmux: Rename unreleased property 'indexed' to 'streamable'
...
Rename 'indexed' to 'streamable' for a better name while it
hasn't been released
2010-06-09 09:13:09 -03:00
Zaheer Abbas Merali
44c911d255
flvmux: Add indexed property to replace disabled is-live.
...
Add indexed property to be the negation of what the disabled is-live property
was. Fixes bug #613066 .
2010-06-08 14:12:16 +02:00
Sebastian Dröge
48934764e7
flvdemux: Don't handle non-TIME seeks
...
Don't send them upstream because for upstream a BYTES seek
might make sense but is completely wrong because upstream
can't seek to a byte position of the audio or video stream.
Also don't build the index in push mode for non-TIME seeks,
things will go wrong here otherwise.
2010-06-07 18:34:11 +02:00
Sebastian Dröge
f16ed4a91c
gst: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs
2010-06-06 17:52:40 +02:00
Sebastian Dröge
6e9e48c0b9
flvdemux: Clear adapter on discontinuities
2010-06-06 15:17:00 +02:00
Sebastian Dröge
0fe56cc0d6
flvdemux: First try upstream when handling seek events/queries
2010-06-06 14:57:27 +02:00
Mark Nauwelaerts
a8ffe6f593
flvdemux: delayed seek handling also deserves TRUE event response
2010-06-02 17:27:22 +02:00
Tim-Philipp Müller
d51576b14c
Revert "avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time"
...
This reverts commit 6a9983cd20
.
Rely on locking done in GstTagSetter in core git.
2010-06-01 09:39:38 +01:00
Sebastian Dröge
f8c906e475
flvdemux: Fix position query
2010-05-29 13:55:07 +02:00
Tim-Philipp Müller
6a9983cd20
avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time
...
This is a temporary fix for the release only.
Fixes #619533 .
2010-05-26 00:05:54 +01:00
Jan Urbański
cf57f1b220
flvmux: only store the last buffer timestamp if it's valid
...
Fixes bug #618305
2010-05-11 06:35:48 +02:00
Stefan Kost
0148a230ac
flvdemux: tell what we can do
...
Any-caps are bad. If apps scan the registry, they'd like to know what we can
output.
2010-05-06 15:43:53 +03:00
Tim-Philipp Müller
f48bc702af
flvmux: hide is-live property for release
...
At the very least it needs a better/less wrong name.
See #613066 .
2010-04-26 00:01:19 +01:00
Stefan Kost
054b84359b
flvdemux: make debug category static
2010-04-08 14:34:59 +03:00
Stefan Kost
fa09b5d519
flxdemux: rename GstFLVDemux for GstFlvDemux
2010-04-08 14:29:59 +03:00
Stefan Kost
fcc3db73a3
flvdemux: merge flvparse into the demuxer and make function static
...
No need to hide certain function in the docs. Allows to do more cleanups.
2010-04-08 14:29:59 +03:00
Mark Nauwelaerts
2d6d2a4d95
flvdemux: remove obsolete reverse playback code path
2010-04-01 10:46:16 +02:00
Mark Nauwelaerts
1c7b1d110b
flvdemux: support (pull mode) negative seek rate
2010-04-01 10:46:12 +02:00
Mark Nauwelaerts
d3ae0ef71f
flvdemux: also check for segment stop for non-segment-seek
2010-04-01 10:46:10 +02:00
Benjamin Otte
3f511ec361
Add -Wwrite-strings to the configure flags
...
... and fix all warnings
2010-03-21 14:17:47 +01:00
Jan Urbański
7d32f46b7a
flvmux: put more information in the metadata
...
Additional tags are: audiocodecid, videocodecid framerate and (in the
non-live case) filesize.
While at it, fix index rewriting to update duration and filesize
values even if the index is empty.
Fixes #613094 .
2010-03-18 10:00:58 +01:00
Jan Urbański
dcb5afd351
flvmux: Put width and height in the metadata
...
Some players use that info to scale their display.
See #613094 .
2010-03-17 09:28:03 +01:00
Jan Urbański
96de71d74b
flvmux: don't put timestamps larger than G_MAXINT32 in the FLV tags
...
For non-live input respond by pushing EOS, for live wrap the
timestamps every G_MAXINT32 miliseconds.
Fixes #613003 .
2010-03-17 09:24:49 +01:00
Jan Urbański
a99ee96172
flvmux: Always put a duration tag in the metadata
...
Some Flash players (for instance JW Player) always expect a duration
tag, otherwise they don't start playback.
If duration can be queried from the sink pads or is provided as a tag,
use it. Otherwise try to determine it from the last seen timestamp of
the sink pads after EOS and rewrite it in the header before writing
the index.
2010-03-16 15:12:46 +01:00
Jan Urbański
ef8f7614ff
flvmux: Remove the send_codec_data field from GstFlvPad
...
That field is not used anymore after the changes in
9fdecbc1c1
.
2010-03-16 15:12:46 +01:00
Jan Urbański
c69c5cb0d7
flvmux: Correctly mark buffers as delta units
...
Mark video interframes, video codec data buffers and audio buffers (if
it's not an audio-only stream) as delta units.
2010-03-15 13:54:39 +01:00
Jan Urbański
9fdecbc1c1
flvmux: Support streamheaders
...
Put the FLV header, the metadata tag and (if present) codec
information in the streamheader to allow the muxer to be used for
streaming.
2010-03-15 13:53:53 +01:00
Jan Urbański
7deee29d2c
flvmux: Preallocate index space and fill it after finishing output
...
Make the index appear at the beginning of the file, which is what most
players are expecting.
Fixes #601236 .
2010-03-15 13:52:03 +01:00
Sebastian Dröge
7c74f7d525
flvmux: Minor coding style fixes and cleanup
2010-03-15 13:47:13 +01:00
Jan Urbański
54a8237d62
flvmux: Add a is-live property
...
If it is set, the muxer will not write the index. Defaults to false.
2010-03-15 13:46:09 +01:00
Jan Urbański
c9bb3edd6f
flvmux: Only put valid seek points in the index
...
For files containing video only video keyframes are valid points to
which a player can seek. For audio-only files any tag start is a valid
seek point.
See #601236 .
2010-03-15 13:45:21 +01:00
Jan Urbański
b21c5c9015
flvmux: Fix index building to make entries point to tag's start offset
...
Previous coding was wrongly incrementing the total byte count before
adding an index entry.
2010-03-15 13:44:14 +01:00