Commit graph

3643 commits

Author SHA1 Message Date
Andoni Morales Alastruey 688505de88 videoencoder: fix forwarding of GstForceKeyUnit events
Use the frame id to match the output forced keyframe with
the event that forced it.

https://bugzilla.gnome.org/show_bug.cgi?id=706885
2013-08-27 15:11:33 +02:00
Wim Taymans ca1dac6982 rtcpbuffer: do additional packet checks
Check the packet size and avoid crashing on malformed packets.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=655727
2013-08-26 11:47:40 +02:00
Wim Taymans b848f38215 rtcpbuffer: improve bye parsing
It is an error to ask for a non-existing BYE SSRC, the caller should
check the SSRC count first.
2013-08-26 11:46:11 +02:00
Michael Olbrich 3c66c2a43d dmabuf: fix mmap counting
A successful gst_dmabuf_mem_map must always increment the mmap count.
Otherwise the first gst_dmabuf_mem_unmap will unmap the memory and all
other user will access unmapped memory.

https://bugzilla.gnome.org/show_bug.cgi?id=706680
2013-08-26 09:29:32 +02:00
Sebastian Dröge b0e4b5f69a videoencoder: Make sure to return TRUE if the same caps are set again 2013-08-25 10:26:30 +02:00
Sebastian Dröge f678411c6e videoencoder: Only set the caps when they actually changed 2013-08-23 19:20:03 +02:00
Sebastian Dröge 96ab6db422 audioencoder: Simplify pushing of pending events during negotiation
And also don't send the same caps twice.
2013-08-23 19:17:16 +02:00
Sebastian Dröge daf017ced8 audiodecoder: Fix last commit and simplify code a lot 2013-08-23 19:10:48 +02:00
Edward Hervey f9ebfd57f8 audiodecoder: Fix previous commit
(sorry)
2013-08-23 16:59:30 +02:00
Edward Hervey d1cf4b2b9a videocoder: Don't push out identical caps
This avoids triggering plenty of extra code/methods/overhead downstream when
we can just quickly check whenever we want to set caps whether they are
identical or not

https://bugzilla.gnome.org/show_bug.cgi?id=706600
2013-08-23 15:22:43 +02:00
Edward Hervey cd3fe60c68 audiodecoder: Don't push out identical caps
This avoids triggering plenty of extra code/methods/overhead downstream when
we can just quickly check whenever we want to set caps whether they are
identical or not

https://bugzilla.gnome.org/show_bug.cgi?id=706600
2013-08-23 15:22:05 +02:00
Wim Taymans 121235511a rtpbasedepayload: mark DISCONT on buffer in all cases
Always mark discont on the input buffer when we detect a seqnum
discont and not only when we previously marked ourselves DISCONT.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706422
2013-08-21 12:38:10 +02:00
Rico Tzschichholz cb3e2fd218 videometa: fix syntax error 2013-08-21 11:20:28 +01:00
Matthieu Bouron 45edbacd23 tag: id3: handle publisher, interpreted-by and musical-key tags
https://bugzilla.gnome.org/show_bug.cgi?id=705999
2013-08-20 14:44:55 +02:00
Matthieu Bouron 541c061ee8 tag: add musical-key tag
https://bugzilla.gnome.org/show_bug.cgi?id=705999
2013-08-20 14:44:27 +02:00
Sebastian Dröge 1c4af723a3 Revert "pbutils: allow describing unfixed caps if they share the same media type"
This reverts commit 065f1603b0.

This is not considered the correct solution, see:
https://bugzilla.gnome.org/show_bug.cgi?id=703378
2013-08-19 10:39:19 +02:00
Olivier Crête c6fd304eb6 rtpbaseaudiopayload: Avoid copying the data 2013-08-18 22:24:08 -04:00
Tim-Philipp Müller 8cd2d0a672 tools: add simple command-line gst-play utility for testing purposes
Differs from a plain gst-launch-1.0 playbin uri=... pipeline in that
it can take multiple arguments and as such allows testing of things
like gapless playback, switching between different formats and the
like. Very minimal at this point, we'll probably want to add
interactive controls and more options at some point.

https://bugzilla.gnome.org/show_bug.cgi?id=553520
2013-08-16 15:45:23 +01:00
Tim-Philipp Müller c449ae6343 rtsp: fix direct includes
https://bugzilla.gnome.org/show_bug.cgi?id=695889
2013-08-16 14:14:22 +01:00
Tim-Philipp Müller c0defba2d2 pbutils: fix direct includes
https://bugzilla.gnome.org/show_bug.cgi?id=695889
2013-08-16 14:14:19 +01:00
Tim-Philipp Müller 2f05268517 video: make direct includes work again
Not nice to break people's code if we can avoid it. Could
add a warning in the next cycle, and then require single
includes in the cycle after.

https://bugzilla.gnome.org/show_bug.cgi?id=695889
2013-08-16 14:14:15 +01:00
Tim-Philipp Müller 6b070784c4 audio: make direct includes work again
Not nice to break people's code if we can avoid it. Could
add a warning in the next cycle, and then require single
includes in the cycle after.

https://bugzilla.gnome.org/show_bug.cgi?id=695889
2013-08-16 14:14:11 +01:00
Sebastian Dröge c4d7ffddb5 videodecoder: Don't reset too much if we're resetting because of a soft-flush
Fixes reverse playback with Ogg/Theora.
2013-08-15 14:33:18 +02:00
Sebastian Dröge 695675ab7e videodecoder: Don't reset decoder on segment events
Either there was a flush before that resets everything anyway,
or resetting would make us lose information we might need if
it's just a segment update.
2013-08-15 13:26:39 +02:00
Sebastian Dröge 146bb1a153 video{en,de}coder: Add new flush vfunc as a replacement for reset 2013-08-15 13:26:39 +02:00
Sebastian Dröge 9df036c216 video{en,de}coder: Revert to old ::reset() behaviour and deprecate it 2013-08-15 13:26:38 +02:00
Tim-Philipp Müller a34e0420b6 discoverer: document that "finished" and "discovered" signals are only emitted in async mode
https://bugzilla.gnome.org/show_bug.cgi?id=660195
2013-08-13 20:40:47 +01:00
Youness Alaoui ca2a515373 audiodecoder: Clear taglist on reception of a STREAM_START event
https://bugzilla.gnome.org/show_bug.cgi?id=705109
2013-08-12 13:02:59 +02:00
Youness Alaoui 17eb692c6a videodecoder: Clear taglist on reception of a STREAM_START event
https://bugzilla.gnome.org/show_bug.cgi?id=705109
2013-08-12 13:02:28 +02:00
Wim Taymans c1da65da5e rtcpbuffer: calculate FB packet length correctly 2013-08-06 15:44:03 +02:00
Edward Hervey b4b9f74f8b videodecoder: Revert previous commit
The 'hard' argument of reset changed signification after the latest
start/stop/reset refactoring.
2013-08-02 08:22:59 +02:00
Edward Hervey 84d476610b videodecoder: Pass on 'hard' argument from _flush to _reset
When most of the code was moved from _flush() to _reset() the 'hard'
argument was no longer propagated.
2013-08-01 16:02:48 +02:00
Tim-Philipp Müller 965546192d pbutils: private/teletext -> application/x-teletext 2013-07-30 15:58:26 +01:00
Sebastian Dröge bb870b8b7b tagdemux: Properly implement seeking if tagdemux is driving the pipeline
https://bugzilla.gnome.org/show_bug.cgi?id=705062
2013-07-29 11:40:57 +02:00
Edward Hervey 43093743e5 pbutils: Add description for teletext 2013-07-27 12:16:53 +02:00
Matej Knopp 197376212c audiodecoder: do not leak input caps
https://bugzilla.gnome.org/show_bug.cgi?id=704926
2013-07-26 15:37:04 +01:00
Sebastian Dröge e2597e1e42 appsrc: Also provide function API for current-level-bytes and integrate into the docs 2013-07-26 11:03:08 +02:00
Changbok Chea bdbfa45296 appsrc: Add "current-level-bytes" property
https://bugzilla.gnome.org/show_bug.cgi?id=704774
2013-07-26 11:03:08 +02:00
Vincent Penquerc'h ee088c6b3f codec-utils: add a gst_codec_utils_aac_get_index_from_sample_rate
It maps a sample rate to a well known AAC sample rate index.
2013-07-26 09:24:50 +01:00
Sebastian Dröge 047abdc944 videodecoder/encoder: Call reset() always between start() and stop() and never outside 2013-07-26 10:22:32 +02:00
Sebastian Dröge 9259ee6729 videoencoder/decoder: Call reset() before start() too 2013-07-25 14:25:31 +02:00
Sebastian Dröge 99ef452fc4 audio/videodecoder: Rename variable in macro from dec to __dec
Otherwise it might shadow another variable in the outside scope
and cause interesting side effects.
2013-07-25 14:11:28 +02:00
Sebastian Dröge c24995c31c videoencoder: There's no point in resetting the encoder when the caps change
The subclass will be called with set_format() and there it can drain
if necessary and reset whatever is necessary. This is the same behaviour
as for the video decoder.
2013-07-25 10:53:14 +02:00
Sebastian Dröge 291b05b40a videoencoder: Reset internal state and segments on FLUSH_STOP
https://bugzilla.gnome.org/show_bug.cgi?id=656007
2013-07-25 10:46:04 +02:00
Sebastian Dröge 7074fff7b4 videoencoder: Refactor GstVideoEncoder::reset() handling a bit
Let gst_video_encoder_reset() call it as would be intuitive and
only call it indirectly from gst_video_encoder_drain(). Now it
actually makes sense.
2013-07-25 10:43:08 +02:00
Sebastian Dröge 612a2cf9d0 videodecoder: Refactor GstVideoDecoder::reset() handling a bit
Let gst_video_decoder_reset() call it as would be intuitive and
only call it indirectly from gst_video_decoder_flush(). Now it
actually makes sense.
2013-07-25 10:25:34 +02:00
Wim Taymans 409cb22253 videodecoder: Take DTS as PTS for keyframes as a last resort if we can't calculate any PTS
https://bugzilla.gnome.org/show_bug.cgi?id=704193
2013-07-24 09:24:45 +02:00
Sebastian Dröge b4365551d0 tagdemux: Add support for group-id in the stream-start event 2013-07-22 15:24:50 +02:00
Wim Taymans 5732ced692 video-info: respect stride alignment
Increase the left padding so that we don't cause stride alignments later when we
apply the padding.

https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-19 10:47:27 +02:00
Wim Taymans fad4589579 Revert "video: respect stride alignment when calculating planes offsets"
This reverts commit 28e1dadbfa.

Incrementing the offset to make the plane aligned causes the image to be
incompatible with what Xv expects. Rather that forcing a memcpy in the
xvimagesink we would like to do adjust the left padding instead.
2013-07-19 10:43:38 +02:00