summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix .gitmodules to use baserock upstreambaserock/1.6.3Javier Jardón2016-02-121-1/+1
|
* Release 1.6.31.6.3Sebastian Dröge2016-01-2036-76/+296
|
* Update .po filesSebastian Dröge2016-01-2038-38/+38
|
* video-info: enfore RGB matrix for RGB formatsWim Taymans2016-01-201-1/+18
| | | | | | | | | In gst_video_info_to_caps(), make sure we end up with an RGB matrix for RGB formats and warn when the GstVideoInfo colorimetry is wrong. In gst_video_info_from_caps(), fix the GstVideoInfo with an RGB matrix for RGB formats and warn about inconsistent caps. See https://bugzilla.gnome.org/show_bug.cgi?id=759624
* video-converter: ignore matrix for RGB formatsWim Taymans2016-01-201-0/+14
| | | | | | | | For RGB formats, the matrix in the colorimetry (conversion from YUV to RGB) is irrelevant and we should ignore it and assume the identity transform for everything we do. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=759624
* videoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPEDThibault Saunier2016-01-201-0/+5
| | | | | | It was never actually supported or used https://bugzilla.gnome.org/show_bug.cgi?id=760666
* Revert "videoencoder: Release video frame when ->handle return ERROR or DROPPED"Thibault Saunier2016-01-201-8/+1
| | | | | | | | | This reverts commit 63517d0ed348784cce4ab4b295c2c0f1b78baa81. It was wrong ref counting wise and we decided to deprecated DROPPED return value https://bugzilla.gnome.org/show_bug.cgi?id=760666
* streamsynchronizer: Ignore flushing streams [..]Mathieu Duponchelle2016-01-161-1/+1
| | | | | | | | | | | | | | | | | [..] when resetting group start time. In GES, we are usually connected to the streamsynchronizer on one audio and one video pad. When seeking the timeline, both nlecompositions often output their flush_start before any of them has output its flush_stop. The current code, when receiving the first flush stop was using the running time of the start of the second composition, which could be pretty much anything, and means nothing at that point. This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken both when setting flushing and when checking it. https://bugzilla.gnome.org/show_bug.cgi?id=750013
* videoencoder: Release video frame when ->handle return ERROR or DROPPEDThibault Saunier2016-01-161-1/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=760666
* playsink: Properly mark pending blocked padsEdward Hervey2016-01-161-1/+3
| | | | | | | | | | | | | | | | | | | | | When blocking input pads, we also need to properly set the appropriate pending flag. Without this, when switching stream types after initial configuration (like going from Audio+Video to Audio+Video+Sub) playsink would never wait for *all* input streams to be blocked (it would just wait for the new input pad (text in this case) to be blocked). Since the reconfiguration might introduce unlinking/relinking of elements, we need to ensure that *ALL* input streams are blocked. Failure to do so would result in having some input streams pushing data to inactive elements (returning GST_FLOW_FLUSHING) or unlinked pads (returning GST_FLOW_NOT_LINKED). A later optimization could involve only blocking the input pads that might be involved in reconfiguration. But better be safe than sorry for now :)
* videopool: store videoinfo after choosing the biggest buffer sizeAurélien Zanelli2016-01-111-1/+1
| | | | | | | Otherwise, pool could be negotiated with a size which will be different from the one used in allocation which is the GstVideoInfo. https://bugzilla.gnome.org/show_bug.cgi?id=760222
* typefindfunctions: Make sure that enough data is available in AAC/ADTS ↵Sebastian Dröge2015-12-281-3/+4
| | | | | | | | | typefinder We would otherwise read beyond the array bounds and crash every now and then. This was introduced with 5640ba17c8db80976b7718904e4024dcfe9ee1a0. https://bugzilla.gnome.org/show_bug.cgi?id=759910
* playsink: Don't leak audio/video filters due to floating references weirdnessSebastian Dröge2015-12-281-0/+6
| | | | | | The filters' floating references are sinked during set_property() already, which means that GstBin takes a new reference when adding the filter to it. Get rid of the additional reference after adding the filter to the bin.
* playsink: Allow reuse of audio/video filters by unparenting them from their binsSebastian Dröge2015-12-281-0/+41
| | | | And also recreate the chains if the filter is changing.
* playsink: Don't leak audio/video filters when using non-raw mediaSebastian Dröge2015-12-281-0/+6
|
* appsrc: Clear is_eos flag when receiving the flush-stop eventKazunori Kobayashi2015-12-211-0/+21
| | | | | | | | | The EOS event can be propagated to the downstream elements when is_eos flag remains set even after leaving the flushing state. This fix allows this element to normally restart the streaming after receiving the flush event by clearing the is_eos flag. https://bugzilla.gnome.org/show_bug.cgi?id=759110
* Release 1.6.21.6.2Sebastian Dröge2015-12-1434-79/+274
|
* Update .po filesSebastian Dröge2015-12-1438-251/+61
|
* po: Update translationsSebastian Dröge2015-12-141-65/+251
|
* rtpbasedepay: when setting discont flag make sure rtpbuffer is currentTim-Philipp Müller2015-12-131-0/+10
| | | | | | | | | | Depayloaders will look at rtpbuffer->buffer for the discont flag. When we set the discont flag on a buffer in the rtp base depayloader and we have to make the buffer writable, make sure the rtpbuffer actually contains the newly-flagged buffer, not the original input buffer. This was introduced with the addition of the process_rtp_packet vfunc, but would only trigger if the input buffer wasn't flagged already and was not writable already.
* rtpbasedepay: fix possible refcounting issue when detecting a discontTim-Philipp Müller2015-12-131-2/+11
| | | | | | | | | | | When we detect a discont and the input buffer isn't already flagged as discont, handle_buffer() does a gst_buffer_make_writable() on the input buffer in order to set the flag. This assumed it had ownership of the input buffer though, which it didn't. This would still work fine in most scenarios, but could lead to crashes or mini object unref criticals in some cases when a discont is detected, e.g. when using pcapparse in front of a depayloader. This problem was introduced in bc14cdf529e.
* decodebin: Update buffering messages when removing an element that had ↵Sebastian Dröge2015-12-071-2/+61
| | | | | | | | | | | | | | | | buffering pending Otherwise we'll remove that element while keeping its buffering message in our list, and because of that never ever report buffering 100% as that element will always be at a lower percentage. This fixes e.g. seeking over Period boundaries in DASH and various other issues when buffering happens between group switches. Also use a new mutex for protecting the buffering messages. The object lock is already used by gst_object_has_as_ancestor() and we need to use it now for checking if the buffering message sender has the to-be-removed element as ancestor.
* rtspconnection: Update capitalization of x-sessioncookieEvan Callaway2015-12-072-2/+2
| | | | | | | Some servers incorrectly parse header names with strict case-sensitivity. For compatibility with these systems change X-Sessioncookie to x-sessioncookie. https://bugzilla.gnome.org/show_bug.cgi?id=758921
* xvimagesink/ximagesink: Fix structure memory leakVineeth TM2015-11-172-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=758204
* decodebin: Properly deactivate ghostpadsEdward Hervey2015-11-071-1/+1
| | | | | | | | | | | | | | | | | | Just setting the ghostpad as flushing wasn't enough. It needs to be consistent on the internal proxypad also, otherwise you end up in situations where: * a pending buffer on the target pad triggers the sticky event propagation * the default implementation sees that the proxypad is not flushing, so it tries to push it to the other pad (the actual ghostpad) * the ghostpad is flushing, so returns FALSE * the push_event function sees that pushing the event failed... * ... and pending buffer push returns GST_FLOW_ERROR, instead of GST_FLOW_FLUSHING By using gst_pad_set_active(FALSE), we ensure that both the ghostpad and the proxypad are flushing/deactivated. The situation above will no longer occur, and a GST_FLOW_FLUSHING will be returned.
* volume: Do not try to get binding value array if we are not processing any ↵Thibault Saunier2015-11-051-2/+2
| | | | | | | | | | sample In some conditions we might process empty buffers, calling gst_control_binding_get_value_array in that case will lead to the assertion: (lt-ges-launch-1.0:18859): GStreamer-CRITICAL **: gst_control_binding_get_value_array: assertion 'values' failed
* multisocketsink: fix "client-removed" signal on 64-bit platforms and with ↵Csaba Toth2015-10-311-1/+1
| | | | | | | | | | | bindings The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE in its definition leading to problems on platforms where the size of a pointer is larger than the size of an integer, It would also not work at all with dynamic language bindings. https://bugzilla.gnome.org/show_bug.cgi?id=757155
* videotestsrc: fix handling of Bayer format 'gbrg'Joan Pau Beltran2015-10-301-1/+1
| | | | | | | | Due to a typo, videotestsrc did not handle the Bayer format 'gbrg' properly and reported it as invalid, causing negotiation errors. https://bugzilla.gnome.org/show_bug.cgi?id=757264
* Release 1.6.11.6.1Sebastian Dröge2015-10-3034-110/+349
|
* Update .po filesSebastian Dröge2015-10-3036-36/+36
|
* po: Update translationsSebastian Dröge2015-10-302-15/+13
|
* audioquantize: fix 8-pole noise shapingWim Taymans2015-10-281-4/+3
| | | | | Fix the 8-pole noise shaping error update. We were mixing errors from different channels.
* decodebin: Send SEEK events directly to adaptive streaming demuxersSebastian Dröge2015-10-271-2/+38
| | | | | | | | This makes sure that they will always get SEEK events, even if we're currently in the middle of a group switch (i.e. switching to another representation/bitrate/etc). https://bugzilla.gnome.org/show_bug.cgi?id=606382
* decodebin: fix event leakGuillaume Desmottes2015-10-251-0/+1
| | | | | | | | | | As stated in GST_PAD_PROBE_HANDLED's documentation, we are supposed to unref the event before returning. Fixes an event leak in the validate.hls.playback.play_15s.hls_bibbop validate scenario. https://bugzilla.gnome.org/show_bug.cgi?id=754459
* playbin: Send upstream events directly to playsinkSebastian Dröge2015-10-231-0/+24
| | | | | | | | | | | Send event directly to playsink instead of letting GstBin iterate over all sink elements. The latter might send the event multiple times in case the SEEK causes a reconfiguration of the pipeline, as can easily happen with adaptive streaming demuxers. What would then happen is that the iterator would be reset, we send the event again, and on the second time it will fail in the majority of cases because the pipeline is still being reconfigured
* video: overlay-composition: fix rectangle and composition cast macrosPavel Bludov2015-10-221-2/+2
| | | | | | Closing parenthesis was missing in two cases. https://bugzilla.gnome.org/show_bug.cgi?id=756893
* rtp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1Sebastian Dröge2015-10-201-1/+1
|
* win32 update exports for new rtp symbolsMatthew Waters2015-10-201-0/+1
|
* rtpbuffer: Add map flag to skip paddingStian Selnes2015-10-203-2/+50
| | | | | | | | | | | | Encrypted RTP buffers may contain encrypted padding, hence it's necessary to have an option to relax the validation in order to successfully map the buffer. When the flag GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is set gst_rtp_buffer_map() will map the buffer like if padding is not present. https://bugzilla.gnome.org/show_bug.cgi?id=752705
* audiobasesink: fix issue about eos handling during flushingeunhae choi2015-10-201-7/+8
| | | | | | | | | | | If the flush-start is arrived during _eos_wait() in basesink, the 'eos' flag is overwritten to TRUE after exiting the _eos_wait(). To resolve the overwritten issue, the subclass doing the _eos_wait() call should return the right value. If the eos flag is set to TRUE again, it will cause error(enter the eos flow) of the following state changing from PAUSED to PLAYING in basesink. https://bugzilla.gnome.org/show_bug.cgi?id=754980
* playbin/uridecodebin: Always post async-done immediately if we're a live ↵Sebastian Dröge2015-10-202-2/+7
| | | | | | | | pipeline Not only if the base class told us, but also if one of our own elements did. https://bugzilla.gnome.org/show_bug.cgi?id=756611
* decodebin/playbin/playsink/subtitleoverlay: Post async-done on state change ↵Sebastian Dröge2015-10-204-1/+8
| | | | | | failures https://bugzilla.gnome.org/show_bug.cgi?id=756611
* playsink: Immediately error out if state change failsSebastian Dröge2015-10-201-1/+3
| | | | | | | Otherwise we chain up to the parent class' change_state function and might override the failure with SUCCESS. https://bugzilla.gnome.org/show_bug.cgi?id=756611
* video: Add out annotations to the out parameters of ↵Sebastian Dröge2015-10-201-2/+2
| | | | | | gst_video_calculate_display_ratio() https://bugzilla.gnome.org/show_bug.cgi?id=754567
* playsink: Fix volume element leakVineeth TM2015-10-171-0/+6
| | | | | | | | In case sink implements a streamvolume interface, volume element is being got from the sink. But this is transfer full. So the memory should be freed before setting it to NULL. This was resulting in major memory leaks https://bugzilla.gnome.org/show_bug.cgi?id=755867
* alsa: Use 8 bit pointer type for byte-based pointer arithmeticSebastian Dröge2015-10-172-5/+5
| | | | | | | | | | | Usually these loops only run once, so there's no problem here. But sometimes they run twice, and by adding the number of bytes to a 16 bit pointer type we would advance twice as much as we should. Also use snd_pcm_frames_to_bytes() in alsasrc to calculate the number of bytes to skip, same as we do in alsasink. Thanks to Lucio A. Hernandez <lucio.a.hernandez@gmail.com> for reporting.
* xvimagesink: Put error message into debug output instead of just throwing it ↵Sebastian Dröge2015-10-051-2/+4
| | | | away
* decodebin: free hidden groups at time of switching groupsRajat Verma2015-10-051-1/+1
| | | | | | | hidden groups should be freed at time of switching groups to avoid memory use from balloning up. https://bugzilla.gnome.org/show_bug.cgi?id=755770
* subparse: detect closing tags even if there's a space after the slashTim-Philipp Müller2015-09-301-5/+14
| | | | | | </ i> should be handled like </i> https://bugzilla.gnome.org/show_bug.cgi?id=755875
* app: pass PKG_CONFIG_PATH for gir files for libgstapp as wellPerry Hung2015-09-291-2/+2
| | | | | | | | gir include search directories should respect PKG_CONFIG_PATH, just like we do everywhere else. Makes g-i pick up the right paths when using ./configure --with-pkg-config-path= https://bugzilla.gnome.org/show_bug.cgi?id=755494