Nicolas Dufresne
a7a3cb343a
flvmux: Correctly offset timestamp
...
The previous method would break AV sync in the case audio or video
didn't start at the same point in running time.
https://bugzilla.gnome.org/show_bug.cgi?id=731352
2014-08-27 21:09:57 -04:00
Nicolas Dufresne
aa5bd99127
flvmux: Save dts from buffer
...
We no longer set dts in muxed buffer. This would lead to encoding tags
with timestamp 0 instead of the timestamp of previous buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=731352
2014-08-27 21:08:21 -04:00
Nicolas Dufresne
c1e7bec616
flvmux: Ensure Timestamp starts at 0
...
FLV documentation stipulates that timestamp must start at zero.
In order to respect this rule, keep the first timestamp around
and offset the timestamp from this value. This allow for longer
recording time in presence of timestamp that does not start
at 0 already.
https://bugzilla.gnome.org/show_bug.cgi?id=731352
2014-08-26 16:46:03 -04:00
Nicolas Dufresne
ff2bce7b26
flv: Tag timestamp are DTS not PTS
...
The tags in FLV are DTS. In audio cases, and for many video format this makes
no difference, but for AVC with B-Frames, PTS need to be computed from
composition timestamp CTS, with PTS = DTS + CTS.
https://bugzilla.gnome.org/show_bug.cgi?id=731352
2014-08-26 16:45:59 -04:00
Tim-Philipp Müller
6ee2665b7c
flvdemux: fix indentation
2014-08-13 11:59:39 +01:00
Tim-Philipp Müller
9afeb9652b
flvdemux: un-break duration querying
...
Commit 2b9493b5
broke this in two ways: a) we should only
pass duration queries in TIME format upstream (or at least
not those in DEFAULT or BYTE format), and b) we mustn't
overwrite the default value of 'res' from TRUE to FALSE
and not set it again later. This led to bogus durations
being reported for FLV playback from file, because TIME
queries would fail (as 'res' had been set to FALSE) and
parsers then do a BYTE query as fallback and try to
guesstimate something in return, which of course goes
horribly wrong since the BYTE size returned is for the
muxed file.
2014-08-13 11:59:39 +01:00
Tim-Philipp Müller
e9f2d63011
flvdemux: fix speex caps
...
Decoder complains about "notification: Invalid mode encountered.
The stream is corrupted" though, even if it works, so there's
probably something wrong with the generated codec headers.
2014-06-26 13:50:19 +01:00
Tim-Philipp Müller
d98b996523
flvmux: fix speex in FLV
...
Speex in FLV is always mono @ 16kHz, see
http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf
section E.4.2.1: "If the SoundFormat indicates Speex, the audio is
compressed mono sampled at 16 kHz, the SoundRate shall be 0, the
SoundSize shall be 1, and the SoundType shall be 0"
Also see https://bugzilla.gnome.org/show_bug.cgi?id=683622
2014-06-26 13:43:33 +01:00
Edward Hervey
f7fc8d74c9
flvdemux: Attempt upstream seek first
...
If we have an upstream element that can handle the seek (such as
rtmpsrc), try to do that first before attempting it ourself.
2014-06-09 10:04:38 +02:00
Edward Hervey
2b9493b5f0
flvdemux: Query duration upstream first
...
Upstream elements (like rtmpsrc) might be able to provide the duration
more accurately than flvdemux. Especially with index-less vod files
2014-06-05 09:38:29 +02:00
Jan Alexander Steffens (heftig)
303883752e
flvdemux: set RESYNC buffer flag when bridging large PTS gaps
...
So downstream gets notified when this happens.
https://bugzilla.gnome.org/show_bug.cgi?id=725903
2014-06-04 10:28:47 -04:00
Thiago Santos
3b887887be
flvdemux: Use GstFlowCombiner
...
Use the flow combiner to have the standard combination results and avoid
repeating the same code
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 19:51:07 -03:00
Edward Hervey
6c4882996f
flvdemux: Don't use WARNING for not-linked flow return
...
Pollutes debug logs for no reason. It's only an error if all pads
return not-linked
2014-05-12 13:46:01 +02:00
Edward Hervey
c09b14c931
flvdemux: Skip unknown tags in push-mode
...
We add a new mode (SKIP) in push-mode to skip tags that we don't known about
Partially fixes https://bugzilla.gnome.org/show_bug.cgi?id=670712
2014-05-12 13:45:06 +02:00
Tim-Philipp Müller
d506409af5
docs: get rid of 'Since: 0.10.x' markers
...
And some gtk-doc markup fixes.
2013-11-18 14:47:35 +00:00
Tim-Philipp Müller
771ffe5609
flvmux: fix broken sample pipeline
...
which was muxing raw audio and video into flvmux, which won't work,
even if there were converters.
2013-10-12 20:44:31 +01:00
Tim-Philipp Müller
29effb522a
flvmux: require stream-format=raw for mpeg-2 too, but don't require framed field
...
raw implies that it's framed already. Fixes .. ! faac ! flvmux
2013-10-12 20:37:41 +01:00
Tim-Philipp Müller
a5532b4510
flvdemux: don't leak stream_id string
...
https://bugzilla.gnome.org/show_bug.cgi?id=705142
2013-07-30 14:28:19 +01:00
Sebastian Dröge
2e35b36aab
gst: Don't swap start/stop for negative rates in the SEGMENT query
2013-07-29 12:12:41 +02:00
Sebastian Dröge
d135373beb
flvdemux: Implement SEGMENT query
2013-07-29 10:53:47 +02:00
Sebastian Dröge
1122698491
flvdemux: Add support for group-id in the stream-start event
2013-07-22 15:30:12 +02:00
Alban Browaeys
97015d3c93
flvdemux: Add flvversion 1 to the flash-video caps
...
This allows using avdec_flv which requires this field to be
present in the caps. FLV only supports flash-video version 1
right now.
https://bugzilla.gnome.org/show_bug.cgi?id=703076
2013-07-01 11:43:46 +02:00
Sebastian Dröge
ab275b62a8
flvdemux: Don't forward CAPS events from upstream
...
Just use the default pad event handler.
https://bugzilla.gnome.org/show_bug.cgi?id=701976
2013-06-11 12:27:19 +02:00
Sebastian Dröge
9ac456bd43
flvmux: Push sticky events in the right order
2013-05-13 15:06:03 +02:00
Sebastian Dröge
b0b0557c48
gst: Add better support for static plugins
2013-04-15 15:54:11 +02:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Tim-Philipp Müller
c203ce2dbe
flvdemux: minor clean-up
...
Use GstByteWriter, because we can, and g_value_take_boxed.
2012-09-26 00:44:59 +01:00
Dmitriy Samonenko
7d4b6f655e
flvdemux: fix speex audio decoding by creating fake stream header
...
https://bugzilla.gnome.org/show_bug.cgi?id=683622
2012-09-26 00:16:06 +01:00
Tim-Philipp Müller
1c3c8c64e6
flvmux: send stream-start event
2012-09-23 16:33:34 +01:00
Stefan Sauer
f874922e1c
collectpads: remove gst_collect_pads_add_pad_full
...
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:05:44 +02:00
Mark Nauwelaerts
f12ef67f56
ext, gst: only activate in pull mode if upstream is seekable
2012-09-11 17:44:51 +02:00
Mark Nauwelaerts
8d93246b93
gst: adjust comment style
2012-09-10 14:31:02 +02:00
Tim-Philipp Müller
4bb52bbadf
docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert
2012-08-27 21:20:30 +01:00
Sebastian Dröge
7b5925b5a4
gst: Add stream-id to stream-start events
2012-08-06 13:43:57 +02:00
Tim-Philipp Müller
c074bfd0b9
gst_tag_list_free -> gst_tag_list_unref
2012-08-04 16:10:16 +01:00
Sebastian Dröge
0827f54b93
tag: Update for taglist/tag event API changes
2012-07-28 00:19:51 +02:00
Mark Nauwelaerts
33091e2bf5
flvdemux: clear old segment event when requesting new one
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680283
2012-07-23 12:50:21 +02:00
Edward Hervey
f063e40af7
demux: Push STREAM_START event when needed
2012-07-13 13:51:48 +02:00
Sebastian Dröge
aeafc3a093
gst: Implement segment-done event
2012-07-05 13:13:09 +02:00
Wim Taymans
30d3dfee36
update for task api change
2012-06-20 10:33:42 +02:00
Wim Taymans
b5df4f0e62
update for tag event change
2012-06-06 13:02:12 +02:00
Edward Hervey
5294edded2
flvdemux: Post error message if EOS before pads were created
...
Happens with some files with only headers
2012-05-29 16:59:06 +02:00
Tim-Philipp Müller
3986174aa9
flv, matroska: don't use GstStructure API on tag lists
2012-05-27 00:02:08 +01:00
Mark Nauwelaerts
67e168aef4
collectpads2: rename to collectpads
2012-04-17 15:14:27 +02:00
Mark Nauwelaerts
04b4d30f2c
misc: chain up to collectpads event handler
2012-04-16 16:37:49 +02:00
Edward Hervey
eb0cdfe20f
flvdemux: Use unchecked variant of GstByteReader
...
We know there's at least 7 bytes (checked above)
2012-04-12 15:48:00 +02:00
Mark Nauwelaerts
ea397f60e4
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
gst/flv/gstflvdemux.c
gst/matroska/matroska-demux.c
2012-04-10 11:57:53 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Nicolas Dufresne
628816784f
flvdemux: Fix threading issue in index handling
2012-04-06 09:15:13 +02:00
Sebastian Dröge
acca0e77f1
flvdemux: Don't use static variables to hold index associations
...
This not really threadsafe in any way.
2012-04-06 09:14:28 +02:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25
gst: Update versioning
2012-04-04 14:37:47 +02:00
Wim Taymans
3d61d12e03
update for buffer api change
2012-03-30 18:15:34 +02:00
Wim Taymans
69002aa24f
update for buffer changes
2012-03-28 12:53:05 +02:00
Wim Taymans
c44cd8f55b
Merge branch 'master' into 0.11
...
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850
Conflicts:
docs/plugins/Makefile.am
docs/plugins/gst-plugins-good-plugins-docs.sgml
docs/plugins/gst-plugins-good-plugins-sections.txt
docs/plugins/gst-plugins-good-plugins.hierarchy
docs/plugins/inspect/plugin-avi.xml
docs/plugins/inspect/plugin-png.xml
ext/flac/gstflacdec.c
ext/flac/gstflacdec.h
ext/libpng/gstpngdec.c
ext/libpng/gstpngenc.c
ext/speex/gstspeexdec.c
gst/audioparsers/gstflacparse.c
gst/flv/gstflvmux.c
gst/rtp/gstrtpdvdepay.c
gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Wim Taymans
513d480fbf
don't pass random pointers to pull_range
2012-03-16 21:47:21 +01:00
Nicola Murino
3f4e4edaa2
gst: Fix some query leaks
2012-03-12 09:10:20 +01:00
Sebastian Dröge
78bb66902b
gst: Update for the gstmarshal.[ch] removal
2012-03-02 11:17:33 +01:00
Tim-Philipp Müller
cc0511f5d8
flvmux, matroskamux, qtmux: if in doubt about downstream seekability default to streaming=true
...
If downstream didn't answer our SEEKING query and told us
it's seekable, default to streaming=true. We couldn't do
this in 0.10 for backwards compatibility reasons, but we
can in 0.11. Play it safe.
2012-02-27 01:12:09 +00:00
Tim-Philipp Müller
f49410d698
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst/audioparsers/gstmpegaudioparse.c
2012-02-27 01:00:03 +00:00
Tim-Philipp Müller
6b0dd47586
flvmux: create streamable output if downstream is not seekable
...
Ignore the "streamable" property setting and create streamable
output if downstream is known not to be seekable (as queried
via a SEEKABLE query).
Fixes pipelines like flvmux ! appsink possibly creating seemingly
corrupted output if streamable has not been set to true.
2012-02-25 15:56:51 +00:00
Wim Taymans
ca9532ccc5
update for new memory api
2012-02-22 02:10:33 +01:00
Wim Taymans
225e98d623
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacenc.c
ext/jack/gstjackaudioclient.c
ext/jack/gstjackaudiosink.c
ext/jack/gstjackaudiosrc.c
ext/pulse/plugin.c
ext/shout2/gstshout2.c
gst/matroska/matroska-mux.c
gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Wim Taymans
8eca20ead0
flv: use default pad query
...
We need to chain up unknown queries to the default query handler instead of
blindly forwarding them. In this case it caused the caps query to be forwarded
to the upstream typefind and return the wrong type for the audio/video pad.
2012-02-10 10:07:34 +01:00
Wim Taymans
9365f12d6e
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:43:30 +01:00
Wim Taymans
6674b029e4
flv: fix caps
2012-02-06 15:52:36 +01:00
Vincent Penquerc'h
5e93d1ce4c
flvmux: specify we only accept raw AAC in template caps
...
No header seems to be added, and the codec ID is the same as used
for raw by flvdemux, so raw seems the only supported case.
https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:36:30 +00:00
Vincent Penquerc'h
57a0eacc7b
flvdemux: specify we only output raw AAC in template caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:36:30 +00:00
Wim Taymans
bb2bd604e0
update for HEADER flag
2012-01-30 17:16:51 +01:00
Sebastian Dröge
76a22a6ebb
flvmux: Update for new collectpads2 event handling API
2012-01-26 10:34:34 +01:00
Edward Hervey
03b9966bc0
flv: Fix unitialized variables
...
(or rather circumvent issues with naive compilers ...)
2012-01-25 16:58:12 +01:00
Wim Taymans
583d39dd8d
update for new memory API
2012-01-25 12:30:28 +01:00
Wim Taymans
1584806634
port to new gthread API
2012-01-19 11:33:53 +01:00
Mark Nauwelaerts
e8c254f34d
flvdemux: remove obsolete FIXME comments
2012-01-12 13:18:43 +01:00
Mark Nauwelaerts
559c800c4f
flvdemux: add prefix to local GstIndex related copies
...
... to avoid duplicate type names with other such local copies in the wild.
2012-01-12 11:09:07 +01:00
Mark Nauwelaerts
68e0d2b60c
flvdemux: activate pad before setting caps
...
... rather than the usual 0.10 other way around.
Fixes #667558 .
2012-01-12 11:09:07 +01:00
Sebastian Dröge
93e3ed5a86
Merge branch 'master' into 0.11
...
Conflicts:
ext/cairo/gsttextoverlay.c
ext/pulse/pulseaudiosink.c
gst/audioparsers/gstaacparse.c
gst/avi/gstavimux.c
gst/flv/gstflvmux.c
gst/interleave/interleave.c
gst/isomp4/gstqtmux.c
gst/matroska/matroska-demux.c
gst/matroska/matroska-mux.c
gst/matroska/matroska-mux.h
gst/matroska/matroska-read-common.c
gst/multifile/gstmultifilesink.c
gst/multipart/multipartmux.c
gst/shapewipe/gstshapewipe.c
gst/smpte/gstsmpte.c
gst/udp/gstmultiudpsink.c
gst/videobox/gstvideobox.c
gst/videocrop/gstaspectratiocrop.c
gst/videomixer/videomixer.c
gst/videomixer/videomixer2.c
gst/wavparse/gstwavparse.c
po/ja.po
po/lv.po
po/sr.po
tests/check/Makefile.am
tests/check/elements/qtmux.c
tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Wim Taymans
5fd2b7abe3
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:26:21 +01:00
Tim-Philipp Müller
2884785d54
flvdemux: update for GstIndex removal
...
Add private GstMemIndex for now.
2011-12-30 17:20:57 +00:00
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