David Schleef
f02ee5b403
inter: Add subtitle inter elements
2012-01-22 15:49:44 -08:00
Tim-Philipp Müller
27354f065d
mpegpsdemux: handle corner-case of short read in pull_buffer better
...
It's extremely unlikely, but there are corner cases where a short
read might happen, so handle that, just in case.
2012-01-19 15:56:12 +00:00
Mark Nauwelaerts
dbc8bbd755
adpcmdec: port to audiodecoder
2012-01-17 21:37:48 +01:00
Mark Nauwelaerts
1a73bf0b79
adpcmenc: port to audioencoder
2012-01-17 21:37:45 +01:00
Vincent Penquerc'h
6b4038fed3
debugspy: fix string leak
2012-01-16 17:30:22 +00:00
Vincent Penquerc'h
31cb57fbb7
mpegdemux: fix missing finalize chaining to parent
...
This code does not seem to trigger on my test streams, so it's
a bit of a blind fix, but seems safe enough to push.
2012-01-16 17:10:30 +00:00
Reynaldo H. Verdejo Pinochet
26a1ca09aa
Android, Fix wrong dinamic linking attempt
...
gstcodecparsers is built as an static library.
This change fixes building with the Android buildsystem.
2012-01-13 15:57:33 -03:00
Vincent Penquerc'h
6cad606ead
sirenenc: fix base class call mixup in finalize
2012-01-13 12:08:28 +00:00
Vincent Penquerc'h
76a481c726
patchdetect: remove (leaking) dead code
2012-01-12 17:11:14 +00:00
Vincent Penquerc'h
a940c6a84d
inter: remove (leaking) dead code
2012-01-12 16:48:38 +00:00
Vincent Penquerc'h
72eb8209a5
hlsdemux: fix queue leak
2012-01-12 15:58:36 +00:00
Vincent Penquerc'h
083d21ce3d
dccpclientsink: fix string leak
2012-01-12 15:43:51 +00:00
Vincent Penquerc'h
2b81720a22
y4mdec: fix event leak
2012-01-12 15:19:01 +00:00
Vincent Penquerc'h
6cf84a0348
interlace: fix caps leaks
2012-01-10 13:25:27 +00:00
Vincent Penquerc'h
5ea1601dd9
interlace: fix ref leak
2012-01-10 13:25:27 +00:00
Edward Hervey
fcf511aa8f
tsdemux: Don't provide bogus values in non-TIME push-mode
...
Only take the upstream segment values in GST_FORMAT_TIME
2012-01-10 11:45:25 +01:00
Edward Hervey
24408bce96
tsdemux: Handle rollover in PTS and DTS
...
Also hands back-rollover which can happen with PTS
2012-01-10 11:45:22 +01:00
Vincent Penquerc'h
2dc41db862
h264parse: use the framerate that was copied a few lines above
2012-01-09 11:03:24 +00:00
Vincent Penquerc'h
e81ecb250a
mpegvideoparse: add a couple consts on string literal arrays
2012-01-09 10:58:56 +00:00
David Biomech360
36c496b8f1
coloreffects: added support for a visual magnifier color filter to be used in gnome-video-effects
...
https://bugzilla.gnome.org/show_bug.cgi?id=666542
2012-01-06 11:24:45 +00:00
Vincent Penquerc'h
4f27b2b4fe
h264parse: fix test and set not using the same input
...
This fixes H.264 output not having a set framerate, and
confusing some of the elements downstream (such as interlace).
2012-01-06 10:54:11 +00:00
Vincent Penquerc'h
1c25aab906
interlace: avoid dividing by zero on unkbown framerate
...
If the framerate is unknown, we cannot generate meaningful
buffer timestamps/durations, so set them to _NONE instead of
calculating something wrong and dividing by 0.
2012-01-06 10:54:11 +00:00
Mark Nauwelaerts
c4abaf1428
h264parse: fix and tweak frame timestamping
...
... to run with properly init'ed variables, and to only perform interpolation
in safe cases.
2012-01-04 11:16:18 +01:00
Mark Nauwelaerts
9d0c7d054e
h264parse: prefer negotiating pass-through
2012-01-03 22:10:20 +01:00
Mark Nauwelaerts
dcd2ee421a
h264parse: mark byte-stream AU frame with inserted codec NALs as keyframe
2012-01-03 22:08:07 +01:00
Mark Nauwelaerts
75b8ddb6cf
h264parse: properly determine skip amount when no NAL start found yet
2012-01-03 20:27:07 +01:00
Mark Nauwelaerts
c54144cc16
h264parse: some more proper parse state reset
2012-01-03 20:26:51 +01:00
Thiago Santos
e4d3d2dcd1
camerabin2: clarify some message logs
...
Be explicit on which encodebin we're switching profiles on the
log messages
2011-12-30 00:02:19 -03:00
Thiago Santos
9de92cf9dc
camerabin2: fix gvalue leak
2011-12-27 16:40:38 -03:00
Thiago Santos
399ec70a08
camerabin2: secure event ref when sending event to parent class
...
camerabin2 needs to hold an extra ref on send_event before sending
it to the parent class as it will need to use it after the parent
handles it.
2011-12-27 16:40:38 -03:00
Thiago Santos
36fbb8eea4
basecamerabinsrc: remove redundant functions
...
gst_bin_get_by_interface should be enough for applications.
Haven't seen anyone using those other than wrappercamerabinsrc.
2011-12-22 16:17:56 -03:00
Thiago Santos
d9e13c4268
camerabin2: remove unused helper function
...
This drop_eos_probe function is not used anymore, remove it
2011-12-22 16:13:59 -03:00
Thiago Santos
0ce5021058
camerabin2: Fix A/V sync for captures
...
Audio src was pushing newsegments starting from 0, even when its buffers
were not starting with 0 as their timestamps. Add a buffer probe that
checks the ts of the first buffer and uses that to push a newsegment,
just like we do for video on wrappercamerabinsrc.
2011-12-20 15:05:27 -03:00
Thiago Santos
88e3d82201
wrappercamerabinsrc: Push newsegments on video capture start
...
Pushing newsegments to inform muxers about the start time of the
video buffer timestamps.
2011-12-20 14:46:26 -03:00
Vincent Penquerc'h
b23e6bfa70
mpegtsdemux: only warn when we see a PID with unknown type
...
This is quite frequent, and we will just ignore that stream,
so an error is not warranted.
2011-12-19 13:18:51 +00:00
Alessandro Decina
570ba0c84a
h264parse: avoid pushing SPS/PPS at start only if both are found in stream
...
Avoid injecting SPS/PPS nals only if both are already present in the stream.
Fixes some AVC clips that happen to have only PPS nals in stream.
2011-12-19 12:36:39 +01:00
Alessandro Decina
58cc609b08
mpeg4videoparse: handle force key unit events
2011-12-18 18:37:08 +01:00
Alessandro Decina
94ae4ca833
h264parse: do wait for a keyframe when handling force key unit events
...
Although some decoders can start decoding with just PPS and SPS and waiting for
a keyframe is bad when the keyframe interval is large, gst-ffmpeg does need a
keyframe to start decoding.
2011-12-18 17:40:57 +01:00
Alessandro Decina
38a5719c53
mpegtsmux: unset the current PCR stream when starting a new unit
...
Unset the current PCR stream when starting a new unit so that afterwards a new
stream is selected as PCR and PAT and PMT tables are regenerated.
2011-12-18 17:32:11 +01:00
Alessandro Decina
ee429ba7b8
mpegtsmux: fix key unit event handling when muxing both audio and video
...
Take only video buffers into account when deciding when to cut so that new units
start with a video keyframe.
2011-12-18 17:31:18 +01:00
Vincent Penquerc'h
fe1f79b9bb
videomeasure: port to GstCollectPads2
2011-12-15 13:47:55 +00:00
Vincent Penquerc'h
f4ccc7dff8
mxfmux: port to GstCollectPads2
...
Only tested with audio, I can't get it to accept video (before
the port).
2011-12-15 13:39:41 +00:00
Vincent Penquerc'h
1029619766
mpegtsmux: port to GstCollectPads2
...
I *think* the stream lock use is correct, not 100% sure.
2011-12-15 13:22:24 +00:00
Vincent Penquerc'h
c03c4d7fac
mpegpsmux: port to GstCollectPads2
2011-12-15 13:08:42 +00:00
Vincent Penquerc'h
a8a0b11e3f
frei0r: port to GstCollectPads2
...
Untested, no sample pipeline mentioned, and I've no idea what
this plugin does, but since all the previous ports work out of
the box, this is deemed to work until evidence it doesn't.
2011-12-15 13:04:51 +00:00
Vincent Penquerc'h
c826a197ce
compare: port to GstCollectPads2
2011-12-15 13:02:16 +00:00
Vincent Penquerc'h
4db6f8f7f2
asfmux: port to GstCollectPads2
2011-12-15 12:59:57 +00:00
Tommi Myöhänen
9648d100b4
camerabin2: fix leak on error handling
...
Camerabin2 parses warning messages with gst_message_parse_warning(message,
&err, &debug) but doesn't free given GError and debug strings.
Documentation shows that the ownership of those fields is transferred
to caller (they are marked "[transfer full]" in the API docs).
2011-12-14 08:32:50 -03:00
Julien Isorce
f21ea162ad
mpegtsparse: check offset when retrieving table_id on malformed packets
...
Fix bug #665988
2011-12-13 10:44:47 +01:00
Sebastian Dröge
0d40afa9f0
Revert "mpegtsparse: check offset when retrieving table_id on malformed packets"
...
This reverts commit e62978d045
.
2011-12-13 10:44:42 +01:00
Julien Isorce
e62978d045
mpegtsparse: check offset when retrieving table_id on malformed packets
2011-12-12 15:05:16 +01:00
Vincent Penquerc'h
63110cab94
liveadder: fix buffer leak
2011-12-12 14:00:22 +00:00
Tim-Philipp Müller
ad6ea8fbe9
mpegpsmux: put stream headers into output caps
...
Basic version with only the system header and the program
stream map. An advanced version could include codec-specific
bits like SPS/PPS too. This is useful in connection with
e.g. multifilesink to make sure new files always start with
the stream headers.
2011-12-11 00:13:51 +00:00
Tim-Philipp Müller
eaeba16a56
mpegpsmux: add "aggregate-gops" property to aggregate GOPs into buffer lists
...
Useful in connection with multifilesink, for example, to make sure
the new file always starts with a keyframe.
2011-12-11 00:10:15 +00:00
Tim-Philipp Müller
c4cb38f394
mpegpsmux: remember primary video stream
2011-12-11 00:10:15 +00:00
Tim-Philipp Müller
1f45eb7950
mpegpsmux: remember whether an incoming buffer is a keyunit or not
2011-12-11 00:10:12 +00:00
Tim-Philipp Müller
7f8adea477
videoparsers: fix LIBS order in Makefile.am
2011-12-08 22:49:50 +00:00
Vincent Penquerc'h
09f0860a10
mpegtsdemux: only offset timestamps when live
...
This code is to sync to a live source when there is a delay
between start and when we receive the first buffer, so it does
not make sense in a non live case.
This fixes playback of streams where the input timestamps are
based off some arbitrary offset.
https://bugzilla.gnome.org/show_bug.cgi?id=663756
2011-12-08 12:46:20 +00:00
Sebastian Dröge
dcf04269e1
autoconvert: Remove the initial-identity property from autoconvert
...
Initially creating an identity element to forward serialized
events downstream before any caps are known is broken behaviour.
Serialized events should only be forwarded downstream if the
caps are already known, otherwise autopluggers and other elements
using pad-blocks will fail.
This behaviour also doesn't work anymore after basetransform
was fixed to queue serialized events until the caps are known
as a result of fixing bug #659571 .
See bug #599469 , #665205 .
2011-12-07 13:50:19 +01:00
Thibault Saunier
6b3a314d36
videoparsers: Do not not skip startcode when needed
...
Fix: https://bugzilla.gnome.org/show_bug.cgi?id=665631
2011-12-06 17:05:52 -03:00
Alessandro Decina
a1305b949c
h264parse: handle force key unit events
...
Send SPS/PPS on force key unit events. Useful for example when serving HLS
without transcoding.
2011-12-06 13:16:29 +01:00
Edward Hervey
1c50dab50c
h264parse: Use faster parsing variant when input is packetized
...
Reduces latency and cpu usage
https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:04:17 +01:00
Mark Nauwelaerts
9604342af3
h264parse: reflow slice nal processing
2011-12-05 13:11:39 +01:00
Mark Nauwelaerts
ef24518b60
h264parse: optimize slice nal processing
...
Only minimal slice info is needed here to determine real frame start,
so no need to parse extensively.
Fixes #665418 .
2011-12-05 13:11:04 +01:00
Sebastian Dröge
2cdb069b9f
autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad
2011-12-05 08:57:29 +01:00
Alessandro Decina
4474db4e71
h264parse: let upstream PAR override in-stream PAR
2011-12-01 09:07:18 +01:00
Alessandro Decina
21b063a78c
h264parse: rework PAR parsing
...
And in the process refactor _update_src_caps a bit
2011-12-01 09:06:56 +01:00
Luciana Fujii Pontello
6d85d4882a
h264parse: respect pixel-aspect-ratio
...
Parse pixel-aspect-ratio in vui information.
2011-12-01 08:23:22 +01:00
Stefan Sauer
467fd98e5b
spacespace: whitespace cleanups
2011-11-30 22:12:27 +01:00
Stefan Sauer
4a40bd5936
wavescape: also add colormodes like in spacescope
2011-11-30 22:11:40 +01:00
Stefan Sauer
00ac111477
audiovisualizer: update README
2011-11-30 15:13:04 +01:00
Stefan Sauer
11590ac0b6
spacescope: add color-modes
...
In colormode we split the signal in low,mid,high frequency parts and draw them
separately into red, gree, blue color channels.
2011-11-30 15:11:50 +01:00
Stefan Sauer
52d185f4ae
audiovisualizers: streamline the line_aa code
...
Have a reusable dot_aa code and reuse in the line drawing.
2011-11-30 15:11:50 +01:00
Tim-Philipp Müller
65e8564343
mpegtsmux: fix build in uninstalled setup
...
Add -base libs includes to CFLAGS, fix order of LIBS.
2011-11-30 10:35:12 +00:00
Alessandro Decina
777c1f034f
mpegtsmux: add support for force key unit events
...
Handle force key unit events outputting PAT and PMT when all_headers=TRUE
2011-11-30 08:56:48 +01:00
Alexey Fisher
2099a39459
mpegpsdemux: recalculate adjust if difference is negative
...
One of my dvds jump on some position and miss about 1 minute of stream.
The reason was mpeg timestamps. On some position scr difference is negative.
It produced negative timestamps. Since it was converted to unsigned value,
gstreamer timestamps was invalid. Instead of increasing mpeg ts,
they was decreasing till it started to be positive.
The jump in timestamps caused mpeg2dec to skip frames to make QoS happy.
This patch just make diff unsigned to avoid negative values.
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
https://bugzilla.gnome.org/show_bug.cgi?id=656115
2011-11-29 11:35:11 +00:00
Thibault Saunier
e1bacb4813
codecparser: mpeg4: Look for resync code in _mpeg4_parse
...
This way the API is simpler and users can call 1 single function for packet
detection.
2011-11-28 21:25:34 -03:00
Thibault Saunier
5555b5fa9d
mpeg4videoparse: Properly handle profile and level in caps
...
Fix #660234
2011-11-28 21:25:34 -03:00
Thibault Saunier
48ad76e538
mpeg4videoparse: Port to the new mpeg4parser library
2011-11-28 21:25:34 -03:00
Thibault Saunier
db4d4979ab
mpeg4videoparse: Move to the videoparsers plugin
...
Rename a few variables to use the same convention as others elements in this
plugin
Conflicts:
gst/videoparsers/gstmpeg4videoparse.c
2011-11-28 21:25:34 -03:00
Thiago Santos
9364d13c02
camerabin2: viewfinderbin: use faster cast macro
...
Use cast macro without type checks when we know it should work.
2011-11-28 18:48:52 -03:00
Thiago Santos
b5f97fd033
camerabin2: viewfinderbin: Link elements directly to use faster version
...
ffmpegcolorspace and videoscale should always link successfully, use
the fast pad linking version instead of calling the generic helper
function.
2011-11-28 18:48:52 -03:00
Thiago Santos
f6d47a4206
camerabin2: micro optimize linking some more
2011-11-28 18:48:51 -03:00
Vincent Penquerc'h
4735a7554b
mpeg4videoparse: fix number of bytes read for fixed time increment
...
The spec I found says "16 bits".
The existing code used log2(somevalue)+1.
ffmpeg uses log2(somevalue-1)+1.
The code now uses log2(somevalue-1)+1, and this makes it work with
some sample video without breaking another sample.
Now, I'm far from certain I've got the right spec, I found it by
searching the internet, so...
https://bugzilla.gnome.org/show_bug.cgi?id=654666
2011-11-28 15:22:56 +00:00
Vincent Penquerc'h
f1a4791f74
mpegdemux: Try to add all streams early
...
This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.
2011-11-28 15:10:47 +00:00
Vincent Penquerc'h
fb66b3c2ac
mpegtsdemux: handle pads with no data
...
Some streams declare PIDs but will not send data for them.
Ensure we time out on those, and both send new segments to
keep their time synchronized with the rest, and do not wait
forever before deciding to signal no-more-pads.
https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:13 +00:00
Vincent Penquerc'h
f909c57546
mpegtsdemux: signal no-more-pads when appropriate
...
We track streams for which a data callback is set (and for which
pads will be added only when data is received), and signal
no-more-pads when the last pad is added.
https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:06 +00:00
Vincent Penquerc'h
9715fc3189
mpegdemux: take into account offset of first buffer
...
This fixes playback when the source starts later than the playback
pipeline, and when a source drops for a while then restarts.
https://bugzilla.gnome.org/show_bug.cgi?id=657794
2011-11-28 14:01:43 +00:00
Vincent Penquerc'h
918d2e710f
mpegdemux: fix some more video freezing
...
There was a second threshold, which apparently needs to be smaller
than the first, though I'm not certain of it as I don't understand
yet this nest of wtf that is the mpeg demuxer timing logic.
Fixes video freezing on one (corrupted) MPEG sample. It would
previously never think it was out of the discontinuity, and would
push buffers with no timestamp.
Now this took me more than a day's poking at the thing, for just
one constant change, and I'm scared to have to touch this again :S
https://bugzilla.gnome.org/show_bug.cgi?id=655804
2011-11-28 13:57:42 +00:00
Vincent Penquerc'h
7960280afb
mpegdemux: catch smaller PTS dicontinuities
...
In a test stream, I get one buffer with a PTS of about 15 seconds
in the future compared to the previous one, and next buffers with
timestamps continuing where the original ones left off.
This caused the sink to wait 15 seconds to display the frame while
more frames queued up, and then dump all the subsequent frames as
they "arrived too late".
Maybe that threshold should be made configurable, but for now,
make it more smaller to catch more of these.
https://bugzilla.gnome.org/show_bug.cgi?id=655804
Non AV streams keep using the larger threshold (10 minutes), as
subtitles may arrive only every so often.
2011-11-28 13:57:29 +00:00
Vincent Penquerc'h
7521b597f4
various: fix pad template ref leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Tim-Philipp Müller
98b9d602c1
aiffparse: extract ID3 tags embedded in ID3 chunks
...
https://bugzilla.gnome.org/show_bug.cgi?id=664725
2011-11-27 23:19:49 +00:00
Stefan Sauer
c61f85da82
audiovisualizers: add aa-line code and user for wave/space-scope
2011-11-24 19:04:17 +01:00
Vincent Penquerc'h
1d0f770545
colorspace: fix width/height mismatches
...
https://bugzilla.gnome.org/show_bug.cgi?id=663238
2011-11-24 10:49:16 +01:00
Sebastian Dröge
ca6ae54d5f
mpeg4videoparse: Use the sinkpad template caps as a fallback, not the srcpad ones
2011-11-24 10:26:25 +01:00
Sebastian Dröge
dc2c61faf5
mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
2011-11-24 10:14:06 +01:00
Sebastian Dröge
61fad46dca
h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
2011-11-24 10:09:59 +01:00
Sebastian Dröge
b10c1f277f
diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
2011-11-24 10:08:27 +01:00
Sebastian Dröge
e7cd086970
mpeg4videoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
2011-11-24 10:05:30 +01:00
Tim-Philipp Müller
da43e59aab
smooth: fix printf format compiler warning in debug message
...
https://bugzilla.gnome.org/show_bug.cgi?id=664631
2011-11-23 16:03:15 +00:00