summaryrefslogtreecommitdiff
path: root/gst-libs
Commit message (Collapse)AuthorAgeFilesLines
* mpeg4parser: prevent assertion when scanning for sync codeThiago Santos2016-04-061-2/+5
| | | | | Only search if there is indeed enough data to be searched otherwise an assertion is raised
* adaptivedemux: fix segment update on seeksThiago Santos2016-04-061-3/+3
| | | | | Fixes typo on reverse rate check and also only update the position when the start/stop was actually changed.
* adaptivedemux: stop reverse playback when we reach the limitThiago Santos2016-04-061-1/+1
| | | | | | | | Avoids downloading and pushing a full segment just to get 1 nanosecond of data. This happens frequently when seeking is done with flags that adjust to boundaries or when the start is aligned with segment starts. The later is common when segment durations is a multiple of a second.
* adaptivedemux: correctly track segment.position in reverse playbackThiago Santos2016-04-061-2/+6
| | | | | | For reverse, set position to segment.stop when starting and also don't set the position to fragment end timestamp when it finishes, just leave it at the fragment start.
* adaptivedemux: fix race on shutdown that could result in deadlocksTim-Philipp Müller2016-02-202-4/+15
| | | | | | | | Minimal fix for one particular deadlock, adaptivedemux has seen a general re-work of its locking in git master, but that would be too intrusive to backport into the stable branch. We need to use a separate variable to signal cancellation here.
* glprototypes: fix parameter type of glGenBuffersWang Xin-yu (王昕宇)2016-01-291-1/+1
| | | | | | The number of buffers should be GLsizei instead of GLuint. https://bugzilla.gnome.org/show_bug.cgi?id=761272
* gl: Add \0 terminators for the Apple sync extensionSebastian Dröge2015-12-281-2/+2
| | | | Otherwise GL initialization might check for extensions forever and never finishes.
* glproto: include function definitions for GL_APPLE_syncMatthew Waters2015-12-121-3/+3
| | | | | Provides a performance improvement on iOS where we were falling back to glFinish on settting sync points.
* aggregator: Convert GST_ERROR_OBJECT() for seek events to GST_DEBUG_OBJECT()Sebastian Dröge2015-10-021-3/+2
|
* aggregator: For the start time selection, only set the segment positionSebastian Dröge2015-10-021-2/+0
| | | | | | | segment.time and segment.start can stay the same, and were always the same before anyway because of a mistake. https://bugzilla.gnome.org/show_bug.cgi?id=755623
* gl: Pass GL_CFLAGS to g-ir-scannerAntoine Jacoutot2015-09-301-0/+1
| | | | | | | This unbreaks building when some headers are under a non-standard path. e.g. /usr/X11R6/include as on OpenBSD. https://bugzilla.gnome.org/show_bug.cgi?id=755850
* videoaggregator: fix compilation with older glib versionTim-Philipp Müller2015-09-291-10/+4
| | | | | | | Remove weird use of private gtype defines and fix compilation with older glib versions such as 2.36. https://bugzilla.gnome.org/show_bug.cgi?id=755754
* gl/eagl: use the default GL context debug categoryMatthew Waters2015-09-291-0/+2
|
* glfilter: use GL_ELEMENT_ARRAY_BUFFER for vbo indicesJulien Isorce2015-09-251-2/+2
| | | | | | | Fixes this error with chromium gpu process: GL_INVALID_OPERATION, glBindBuffer: buffer bound to more than 1 target https://bugzilla.gnome.org/show_bug.cgi?id=755618
* glmemory: fix texture leak in _gl_mem_copyJulien Isorce2015-09-251-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=755456
* gl/dispmanx: fix rendering with recent resize state trackingMatthew Waters2015-09-211-2/+1
| | | | | 557ca6fda5f831be4aba5819bf7b30b296e575cd didn't change to the necessary gst_gl_window_resize() call for the dispmanx backend.
* aggregator: Keep at least two buffers in the queue in live modeOlivier Crête2015-09-181-1/+10
| | | | | | | When in live mode, the queue needs to hold the currently processed buffer and one more at least. https://bugzilla.gnome.org/show_bug.cgi?id=754851
* adaptivedemux: remove unprefix STATISTICS_MESSAGE_NAME after allTim-Philipp Müller2015-09-171-5/+0
| | | | | | | It was only added during 1.5.x so we might just as well remove it immediately. https://bugzilla.gnome.org/show_bug.cgi?id=754686
* adaptivedemux: prefix the statistics message name macroPhilippe Normand2015-09-172-3/+15
| | | | | | Keep old define around for now. https://bugzilla.gnome.org/show_bug.cgi?id=754686
* gl/caopengllayer: fix non-existent selector warningMatthew Waters2015-09-171-0/+4
| | | | | 557ca6fda5f831be4aba5819bf7b30b296e575cd introduced the queueResize call without implementing the selector
* glwindow: Fix g_return_val_if_fail in a void functionJan Schmidt2015-09-171-1/+1
|
* glwindow: add API to request a resize event on the next drawMatthew Waters2015-09-1712-70/+120
| | | | | | | | | | | | | | | | - glimagesink needs to be able to resize the viewport on aspect ratio changes resulting from either caps changes or 3d output mode changes. - Performing a glViewport outside the GstGLWindow::resize callback will not have the winsys' stack of viewports required to correctly place the output frame. Provide a function to request a resize on the next draw event from the winsys. Also track size changes inside the base GstGLWindow class rather than in each subclass. https://bugzilla.gnome.org/show_bug.cgi?id=755111
* gl/x11: store the correct dimension from the resize eventsMatthew Waters2015-09-171-2/+2
| | | | small typo s/width/height/
* gl: Fix GError leaks during failuresVineeth T M2015-09-173-2/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=755140
* adaptivedemux: Fix playback of live streamsSebastian Dröge2015-09-151-7/+33
| | | | | | | | | | | dashdemux seeks each live stream to its current fragment in the beginning, but the base class does not know about this. Update the demuxer segment with this seek so we generate the correct SEGMENT event and can actually play the stream. This needs some refactoring at some point. https://bugzilla.gnome.org/show_bug.cgi?id=755047
* adaptivedemux: Only overwrite last return if it was OKThiago Santos2015-09-151-6/+8
| | | | | | | Prevents overwriting other conditions that would be more important, such as EOS. https://bugzilla.gnome.org/show_bug.cgi?id=755042
* gl: bufferpool take into account video stride alignment requirementsTim-Philipp Müller2015-09-152-0/+35
| | | | | | | | when allocating memory. Fixes crashes with avdec_h265 in the AVX2 code path which requires 32-byte stride alignment, but the GstAllocationParams only specified a 16-byte alignment. https://bugzilla.gnome.org/show_bug.cgi?id=754120
* videoaggregator: Fix mixup of running times and segment positionsSebastian Dröge2015-09-141-29/+61
| | | | | | | | | | | | | We have to queue buffers based on their running time, not based on the segment position. Also return running time from GstAggregator::get_next_time() instead of a segment position, as required by the API. Also only update the segment position after we pushed a buffer, otherwise we're going to push down a segment event with the next position already. https://bugzilla.gnome.org/show_bug.cgi?id=753196
* aggregator: Document that get_next_time() should return running timeSebastian Dröge2015-09-141-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=753196
* adaptivedemux: Properly implement timestamping of multi-period streamsSebastian Dröge2015-09-142-48/+151
| | | | | | | | | | | | | | | | | | Each period will start again with pts 0 + period presentation offset, which is also going to be the presentation time inside the container stream if any. However all periods together should form a continuous timeline, with regard to stream time and running time. For making this possible we keep track of the "user requested segment", i.e. the seek events, inside the demuxer without adjusting anything and taking this demuxer segment only as orientation for modified segments per stream. This per stream segments will have their segment.start at pts that would be produced for this stream in this period, and the segment.base/time adjusted so that this pts maps to the running and stream time this period should have in the context of all other periods. https://bugzilla.gnome.org/show_bug.cgi?id=754222
* videoaggregator: fix caps query to properly handle alpha formatsThiago Santos2015-09-112-12/+199
| | | | | | | | | | | | Only accept alpha if downstream has alpha as well. It could theoretically accept alpha unconditionally if blending is properly implemented for handle it but at the moment this is a missing feature. Improves the caps query by also comparing with the template caps to filter by what the subclass supports. https://bugzilla.gnome.org/show_bug.cgi?id=754465
* codecparsers: h265: Fix the selection of Active Ref Pic SetSreerenj Balachandran2015-09-101-4/+3
| | | | | | | | | | | If short_term_ref_pic_set_sps_flag is FALSE, the ShortTermRefPicSet structure is supposed to derive from slice header. Which means, CurrRpsIdx is equal to num_short_term_ref_pic_sets. But the number of refpicsets communicated via sps header is only num_short_term_ref_pic_sets - 1. And we are using slice_header structure to reference the last entry, which is ShortTermRefPicSet[num_short_term_ref_pic_sets]. https://bugzilla.gnome.org/show_bug.cgi?id=754834
* codecparsers: h265 : Fix default scaling list valuesSreerenj Balachandran2015-09-101-2/+2
| | | | | | Fix the default_scaling_list values based on Table 7-6 https://bugzilla.gnome.org/show_bug.cgi?id=754834
* gl/api: use public rather than private defineMatthew Waters2015-09-101-1/+1
| | | | | | | | HAVE_IOS is only defined for the build of this module so attempting to use gstgl in iOS would result in incorrect GL includes. Use GST_GL_HAVE_PLATFORM_EAGL instead for choosing the iOS GL header.
* gl/eagl: Also unbind renderbuffer after setting up framebufferSebastian Dröge2015-09-091-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=754757
* gl/eagl: Don't make context uncurrent just to make it current again in the ↵Sebastian Dröge2015-09-091-4/+0
| | | | | | | | | next line Also binding the framebuffer again is unnecessary then as it was just bound a few lines before while the context was current. https://bugzilla.gnome.org/show_bug.cgi?id=754757
* videoaggregator: lift restriction of changing pixel-aspect-ratioThiago Santos2015-09-031-3/+1
| | | | | | | The videoaggregator can convert PAR, there is no reason for restricting it. https://bugzilla.gnome.org/show_bug.cgi?id=754291
* gtk, qt, gl: fix typo in debug and error messagesTim-Philipp Müller2015-08-311-1/+1
|
* aggregator: Also ignore start-time on seek from gst_element_send_event()Olivier Crête2015-08-311-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=753806
* codecparsers: h265: Fix tile row and column parsingXuGuangxin2015-08-262-18/+43
| | | | | | | | | | | | Section 6.5.1: Coding tree block raster and tile scanning conversion process Follow the equations 6-3 and 6-4 This will provide correct offset_max in slice_header for parsing num_entry_point_offsets. https://bugzilla.gnome.org/show_bug.cgi?id=754024 Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
* gl/eagl: Unref context after setting a window handleSebastian Dröge2015-08-251-0/+2
| | | | | | gst_gl_window_get_context() returns a new reference. Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=753758
* codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversionlyb2015-08-242-0/+141
| | | | | | | | As per 7-42 and 7-43 the ScalingFactor's scanIdx is 0, which is "up-right-diagonal" scan. Add APIs for converting up-right-diagonal to raster and vise versa. https://bugzilla.gnome.org/show_bug.cgi?id=754024
* codecparsers: h265: Fix the range of delta_chroma_log2_weight_denomXuGuangxin2015-08-241-2/+4
| | | | | | | | Being more strict on specification, According to 7.4.7.3, delta_chroma_log2_weight_denom should be in the range of [(0 - luma_log2_weight_denom), (7 - luma_log2_weight_denom)] https://bugzilla.gnome.org/show_bug.cgi?id=754024
* gl: Let base transform relay the meta api for usNicolas Dufresne2015-08-221-12/+2
| | | | | | | | During allocation query, when this element is not passthrough, it must relay the overlay compostion meta and it's parameters. Fortunatly, base transform can do this for us. https://bugzilla.gnome.org/show_bug.cgi?id=753850
* glcontext: add specific error message when missing GL_SHADING_LANGUAGE_VERSIONJustin Kim2015-08-211-2/+7
| | | | | | | | GL_SHADING_LANGUAGE_VERSION was introduced since ES 2.0, but in some android emulator doesn't support this feature. To prevent confusion for developer, the error message need to be more clear. https://bugzilla.gnome.org/show_bug.cgi?id=753905
* glbasefilter: only call gl_{stop,start} if the context changedMatthew Waters2015-08-201-6/+13
| | | | | | | | Removes the redundant GL object creation/deletion on every decide_allocation call which is being called for every caps change. Thus reduces the required GL state changes on reconfigure events which are being sent by glimagesink/xvimagesink
* videoaggregator: Always set the pad's buffer_vinfo when storing a bufferBen Browitt2015-08-201-0/+1
| | | | | | | Otherwise it might be unset, and then the buffer is used and gst_video_frame_map() will crash because of invalid video-info. https://bugzilla.gnome.org/show_bug.cgi?id=753805
* configure.ac: fix build when the uvch264 plugin is not selectedArnaud Vrac2015-08-191-3/+3
| | | | | | | | | | Instead of checking for the gstreamer-video-1.0 package is installed, just assume it is since we already check for the -base dependency. With this replace the GST_VIDEO_* variables in makefiles and directly link with libgstvideo. https://bugzilla.gnome.org/show_bug.cgi?id=753820
* glupload: Recalculate offset and size in raw uploadNicolas Dufresne2015-08-161-0/+10
| | | | | | As we only expose the mapped portion of the frame into the GL memory object (and not the original padding) we need to re-calculate the size and offset.
* adaptivedemux: Demote debugging levelEdward Hervey2015-08-151-1/+1
|