Commit graph

4344 commits

Author SHA1 Message Date
Vivia Nikolaidou
c9cfd0196f video-converter: Change some implicit string enums to real enums
GST_VIDEO_CONVERTER_OPT_ALPHA_MODE, GST_VIDEO_CONVERTER_OPT_CHROMA_MODE,
GST_VIDEO_CONVERTER_OPT_MATRIX_MODE, GST_VIDEO_CONVERTER_OPT_GAMMA_MODE and
GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE were G_TYPE_STRING with only a few valid
options. Changed those to real enums.

https://bugzilla.gnome.org/show_bug.cgi?id=749104
2015-05-08 15:13:54 +02:00
Sebastian Dröge
0c43005f54 audiodecoder: Also negotiate with downstream if needed before handling a GAP event 2015-05-08 15:07:56 +02:00
Sebastian Dröge
f74524b58d videodecoder: Also negotiate with downstream if needed before handling a GAP event 2015-05-08 15:07:56 +02:00
Sebastian Dröge
21b5741251 videodecoder: Try to be smarter when clipping buffers without duration/framerate to the segment
2 second frame duration is rather unlikely... but if we don't clip
away buffers that far before the segment we can cause the pipeline to
lockup. This can happen if audio is properly clipped, and thus the
audio sink does not preroll yet but the video sink prerolls because
we already outputted a buffer here... and then queues run full.

In the worst case we will clip one buffer too many here now if no
framerate is given, no buffer duration is given and the actual
framerate is less than 0.5fps.

Fixes seeking on HLS/DASH streams, when seeking into the middle of
fragments and having no framerate/buffer duration.
2015-05-06 12:42:33 +02:00
Guillaume Desmottes
f90bb8140d navigation: fix structure leak if subclass doesn't implement send_event()
The send_event() implementation is supposed to consume @structure.

https://bugzilla.gnome.org/show_bug.cgi?id=748903
2015-05-05 13:54:08 -03:00
Sebastian Dröge
1a2c590cd2 rtpbasedepayload: Add some debug output 2015-05-05 13:16:05 +02:00
Aurélien Zanelli
c52adc8fcc video: add NV61 format support
https://bugzilla.gnome.org/show_bug.cgi?id=746466
2015-05-04 20:37:59 +01:00
Jan Schmidt
62bdb117ac video: check colorimetry and chroma_site equality in gst_video_info_is_equal()
Add VideoInfo accessors for colorimetry and chroma_site and use them
when checking the equality of two GstVideoInfo
2015-05-04 13:16:27 +10:00
Jan Schmidt
14fafc74a3 video-color: Add gst_video_colorimetry_is_equal()
Add a function for comparing the equality of 2 colorimetry
structures.
2015-05-04 13:16:27 +10:00
Sreerenj Balachandran
6af56187e8 pbutils: Use more strict profile checking for hevc
Use the profile_idc value to set the profile string in caps.
Don't use compatibility flags for this purpose.

https://bugzilla.gnome.org/show_bug.cgi?id=747613
2015-04-30 21:42:34 +02:00
Ravi Kiran K N
955dc5258f video-converter: Remove unused macro
Remove unused macro GET_TMP_LINE

https://bugzilla.gnome.org/show_bug.cgi?id=748687
2015-04-30 20:24:32 +01:00
Tim-Philipp Müller
44e571c5e9 navigation: sprinkle some since markers and add new API to .def file
https://bugzilla.gnome.org/show_bug.cgi?id=747245
2015-04-29 15:30:26 +01:00
Edward Hervey
01e2a2152d video: Add a new "event" navigation message type
This will be useful for elements that wish to post unhandled navigation
events on the bus to give the application a chance to do something with
it

https://bugzilla.gnome.org/show_bug.cgi?id=747245
2015-04-29 15:47:49 +02:00
Wim Taymans
b3db5883e1 video-info: expose InterlaceMode conversion to/from string
Expose the methods used to convert a GstVideoInterlaceMode to and
from a string.
2015-04-28 12:01:02 +02:00
Sebastian Dröge
9e480d11a2 audio: Change the remaining "samples" in the ::delay() vfunc docs to "frames"
https://bugzilla.gnome.org/show_bug.cgi?id=748289
2015-04-27 10:08:17 +02:00
Sebastian Dröge
531b9ba951 audio: The delay vfunc returns the number of frames, not samples
https://bugzilla.gnome.org/show_bug.cgi?id=748289
2015-04-26 21:08:14 +02:00
Tim-Philipp Müller
c680e324bc Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 18:42:34 +01:00
Guillaume Desmottes
2b0b08b74c xmptag: fix invalid reads in GST_DEBUG statement
Don't try to print a string that is not NUL-terminated. This
log line does not really seem useful so let's just drop it.

https://bugzilla.gnome.org/show_bug.cgi?id=748413
2015-04-24 17:32:51 +01:00
Wonchul Lee
5dffb8a311 audiodecoder: Add sink and src query virtual method
API: GstAudioDecoderClass::src_query()
API: GstAudioDecoderClass::sink_query()

https://bugzilla.gnome.org/show_bug.cgi?id=747293
2015-04-23 19:29:20 +01:00
Ravi Kiran K N
0ff9b1e276 video-converter: n_lines member should be a guint not a boolean
https://bugzilla.gnome.org/show_bug.cgi?id=748348
2015-04-23 13:30:45 +01:00
Wim Taymans
0588c9a53f video-scaler: fix YUY2 scaling some more
Take into account the different steps between Y and UV when calculating
the line size for vertical resampling or else we might not resample
enough pixels and leave bad lines.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747790
2015-04-21 13:31:44 +02:00
Wim Taymans
8f82ee70f9 video-scaler: scale enough pixels in YUY2 (and friends) mode
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747790
2015-04-21 13:16:29 +02:00
Ravi Kiran K N
e78d44ac0b video-converter: Remove unused variables
Remove unused variables n_taps, max_taps in setup_scale()

https://bugzilla.gnome.org/show_bug.cgi?id=748021
2015-04-17 19:12:00 +01:00
Thiago Santos
befafccf35 video: add missing part of documentation text 2015-04-17 14:17:44 -03:00
Guillaume Desmottes
d7d8fc5652 discoverer: fix GstToc leak when parsing toc messages
gst_message_parse_toc() returns a reffed GstToc which is owned by the
GstDiscovererInfo. But we have to make sure we unref its previous value before
setting the new one.

https://bugzilla.gnome.org/show_bug.cgi?id=747103
2015-04-17 14:49:01 +01:00
Wim Taymans
7c059b4530 allocators: make GstFdAllocator non-abstract
Make the GstFdAllocator non-abstract because it is perfectly possible
to make memory from a generic fd. Mark the memory as simply "fd".
2015-04-17 09:31:40 +02:00
Sebastian Dröge
6539d1da29 videodecoder: Break instead of return if default negotiation on GAP events fails
Otherwise we're going to leak the event.
2015-04-11 19:52:50 +02:00
Ilya Konstantinov
d668b511d1 appsrc: docs grammar fixes
https://bugzilla.gnome.org/show_bug.cgi?id=747516
2015-04-09 20:39:42 +01:00
Vincent Penquerc'h
5cb40d7320 audiobasesink: fix ring buffer leak on open failure 2015-04-09 13:00:58 +01:00
Vincent Penquerc'h
4e6b917ba3 audiobasesrc: fix ring buffer leak on open failure 2015-04-09 13:00:57 +01:00
Sebastian Dröge
a21795260f audiodecoder: Don't post error messages while holding the stream lock 2015-04-08 20:49:39 -07:00
Sebastian Dröge
9196c3dcca audiodecoder: Don't get and parse the current srcpad caps
We only get here if we don't have any srcpad caps, and we're going
to override the GstAudioInfo a few lines below anyway without ever
using it if for whatever reason we get caps here.
2015-04-08 20:49:39 -07:00
Sebastian Dröge
f268f2be92 videodecoder: Try to invent default caps instead of setting none at all when getting a GAP event before CAPS
Otherwise we would forward the GAP event without ever providing any caps,
which then would make decodebin expose a srcpad without any caps set. That's
confusing for applications and can lead to all kinds of interesting bugs.

Instead do the same as already is done in GstAudioDecoder, and try to invent
caps based on the sinkpad caps and the caps allowed by downstream and the
srcpad template caps.

https://bugzilla.gnome.org/show_bug.cgi?id=747190
2015-04-08 20:49:39 -07:00
Tim-Philipp Müller
dfc34c5841 rtp: rtcpbuffer: fix typo in enum
and in docs. Spotted by Rob Swain.
2015-04-07 16:44:20 +01:00
Sebastian Dröge
0c72d0acdf {audio,video}decoder: Forward SEGMENT_DONE events immediately and drain decoders
Otherwise we're going to wait with draining until the next data comes, which
is a bit suboptimal and might take a long time... or maybe never happens.
2015-04-06 19:20:51 -07:00
Tim-Philipp Müller
99929b7ffa tag: exiftag: don't try to convert utf-8 to latin1 if string is ASCII already
Bypass g_convert/iconv if there's nothing to convert. That way,
conversion won't fail on systems where iconv doesn't support
converting utf-8 to latin1 and there's nothing to convert.

https://bugzilla.gnome.org/show_bug.cgi?id=723252
2015-04-03 21:03:50 +01:00
Vincent Penquerc'h
2954813b86 audio,video: use gst_segment_is_equal instead of memcmp
memcmp will blindly compare the reserved fields, as well as any
padding the compiler may choose to sprinkle in GstSegment.

Fixes valgrind complaints in unit tests, as well as some found via
https://bugzilla.gnome.org/show_bug.cgi?id=738216
2015-04-03 12:09:41 +01:00
Edward Hervey
3eb35c77cc introspection: Don't use g-ir-scanner cache at compile time
It pollutes user directories and we don't need to cache it

https://bugzilla.gnome.org/show_bug.cgi?id=747095
2015-03-31 11:21:43 +02:00
Vincent Penquerc'h
e2a9f0ef4e id3v2: ignore RVA2 tags with more than 64 peak bits
The spec for this does not say nor imply how this should be
interpreted.  The previous code would try to shift by 64 bits,
which is undefined.

Coverity 1195119

https://bugzilla.gnome.org/show_bug.cgi?id=727955
2015-03-30 12:33:06 +01:00
Nicola Murino
f23736d52f appsrc: handle a sample not having caps or a buffer more gracefully
https://bugzilla.gnome.org/show_bug.cgi?id=746908
2015-03-28 12:00:38 +00:00
Nicolas Dufresne
b7facbaf22 basedepay: Handle initial gaps and no clock-base
When generating segment, we can't assume the first buffer is actually
the first expected one. If it's not, we need to adjust the segment to
start a bit before.

Additionally, we if don't know when the stream is suppose to have
started (no clock-base in caps), it means we need to keep everything in
running time and only rely on jitterbuffer to synchronize.

https://bugzilla.gnome.org/show_bug.cgi?id=635701
2015-03-27 19:03:41 -04:00
Song Bing
992101f82a videoencoder: Keep sticky events around when doing a soft reset
The current code will first discard all frames, and then tries to copy
all sticky events from the (now discarded) frames. Let's change the order.

https://bugzilla.gnome.org/show_bug.cgi?id=746865
2015-03-27 09:46:28 +01:00
David Schleef
8b0329c45d riff: Add FLLR tag 2015-03-26 18:03:12 -07:00
Nicolas Dufresne
802ad73103 basedepayload: Fix generated segment
This fixes playback position in RTSP.

https://bugzilla.gnome.org/show_bug.cgi?id=635701
2015-03-26 17:43:47 -04:00
Luis de Bethencourt
90d428a553 Revert "fdmemory: freed pointer will always be 0"
This reverts commit 7fbcefb753.
2015-03-24 10:46:44 +00:00
Luis de Bethencourt
7fbcefb753 fdmemory: freed pointer will always be 0 2015-03-24 10:20:05 +00:00
Wim Taymans
9f0b9eeb58 video-convert: fix clamping for 16 bits alpha mult 2015-03-19 13:31:21 +01:00
Tim-Philipp Müller
5d456c7adc video-frame: fix height/width assertions
As commit 274984e8 states:
When doing CROP META it is expected that the width and/or height
in the GstVideoMeta is bigger or equal to the caps negotiated size.

https://bugzilla.gnome.org/show_bug.cgi?id=741030
2015-03-18 20:40:42 +00:00
Wim Taymans
3205e90e83 fdmemory: make a base class for allocating fd-backed memory
Make a base class that can help with allocating fd-backed memory.
Make dmabuf extend from the base class.
We can now make methods to check if memory has an fd and get the fd for
all the different types of fd-backed memory.
2015-03-18 15:12:03 +01:00
Wim Taymans
e6cb520036 fdmemory: add flags to control behaviour
Add some flags to the GstFdMemory to control how memory is mapped and
unmapped.
2015-03-15 17:27:33 +01:00