summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-03-04dvbbasebin: plug some leaksHEADmasterThiago Santos1-0/+5
Plug various leaks in dvbbasebin.
2016-03-04mpegtsbase: remove program from hashtable if neededThiago Santos1-8/+15
Remove the program also from the programs table instead of only freeing it. Otherwise the table is left with an invalid pointer and will cause issues in the future.
2016-03-04mpegtspacketizer: simplify variable resetThiago Santos1-2/+1
Just set it directly to 0, instead of checking and reseting
2016-03-04dvbsrc: print time in same formatThiago Santos1-2/+2
Makes it easier to compare
2016-03-04amc: properly deinit when ahcsrc register failsMartin Kelly1-6/+11
In the androidmedia plugin_init, we initialize various resources on the Android device. If anything fails during this series of initializations, we need to deinitialize any initializations that already occurred. However, we don't do so if we fail to register the ahcsrc element. Fix this. https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04ahc: correct error messageMartin Kelly1-1/+2
The error message is specific to only one of the failure cases and is misleading in the others. Correct it to be more generic and cover all the failure cases. https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04ahc: remove unneeded #include <stdio.h>Martin Kelly1-1/+0
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04ahc: typo fixMartin Kelly1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04hls: Add OPENSSL_CFLAGS to CFLAGSJoe Gorse1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=763079
2016-03-03glbasememory: Don't change maxsize at run-timeNicolas Dufresne1-3/+2
Maxsize is initialized once and should never change. Allocating data should have no impact on the selected max size for this memory. This causing memory map failure as the maxsize would become smaller then size. This happened when using direct rendering in avviddec on GL that does not support PBO transfer. https://bugzilla.gnome.org/show_bug.cgi?id=763045
2016-03-03qml: Fix leak of the OpenGL contextsSergey Borovkov1-1/+4
[Matthew Waters]: add NULL checks before unreffing https://bugzilla.gnome.org/show_bug.cgi?id=762999
2016-03-02vksink: fix spelling on failed _ensure_data() error messageReynaldo H. Verdejo Pinochet1-1/+1
2016-03-02mpeg2enc: Provide format as a string instead of a char to gst_structure_newVivia Nikolaidou1-1/+1
The format was provided as 'I420' instead of "I420", causing a crash.
2016-03-03mpegtspacketizer: handle early PTS conversion when a group has been foundAurélien Zanelli1-2/+6
In some cases, the PTS might be smaller than the first observed PCR value which causes element to apply wraparound leading to bogus timestamp. To solve this, we only apply it if the PTS-PCR difference is greater that 1 second to be sure that it's a real wraparound. Moreover, using unsigned 32 bits values to handle wrapover could end up with bogus value, so it use pts value to handle it. Also, convert pcr time to gst time before comparing it to pts. Since refpcr is expressed in PCR time base while pts is expressed in GStreamer time. https://bugzilla.gnome.org/show_bug.cgi?id=743259
2016-03-02adaptivedemux: Fix REMOVE_SNAP_FLAGS() macroSebastian Dröge1-1/+1
!(flag1 | flag2 | flag3) is always evaluation to 0. ~ was meant here instead of !. CID 1352032.
2016-03-01Release 1.7.90Sebastian Dröge77-189/+722
2016-03-01Update .po filesSebastian Dröge37-37/+37
2016-03-01po: Update translationsSebastian Dröge3-37/+41
2016-02-29videoparsers: h264: Disable passthorugh mode enablingSreerenj Balachandran1-0/+7
Enabling passthorugh mode is causing multiple issue: For nal aligned multiresoluton streams, passthrough mode make h264parse unable to advertise the new resoultions. Also causing issues while parsing MVC streams which have two separate layers (base-view and non-base-view). This fix is only a temporary workaround. For MVC, proper fixes needed in many places: (handle prefix nal unit, handle non-base-view slice nal extension, fix the picture_start detection for multi-layer-mvc streams etc) https://bugzilla.gnome.org/show_bug.cgi?id=758656
2016-02-29sdpdemux: Set caps to application/x-rtp instead of application/x-unknown as ↵Sebastian Dröge1-0/+5
returned by the SDP helpers The SDP helpers can't know if this is going to be RTP, SRTP, or .... https://bugzilla.gnome.org/show_bug.cgi?id=762860
2016-02-29sdpdemux: Add pads with the correct names in case an rtpbin is usedSebastian Dröge1-2/+4
They're supposed to be stream_%u and not recv_rtp_src_%u_%u_%u. https://bugzilla.gnome.org/show_bug.cgi?id=762860
2016-02-29vkswapper/vkutils: Fix gerror memory leakVineeth TM2-0/+2
https://bugzilla.gnome.org/show_bug.cgi?id=762842
2016-02-29vkdevice: Fix duplicate assignment of queue variableVineeth TM1-1/+0
https://bugzilla.gnome.org/show_bug.cgi?id=762842
2016-02-29vksink: Fix GError memory leakVineeth TM1-0/+2
https://bugzilla.gnome.org/show_bug.cgi?id=762842
2016-02-28win32: update exports for new libgstgl functionTim-Philipp Müller1-0/+1
2016-02-28amcvideodec: When outputting on a surface, accept all color formatsSebastian Dröge1-4/+24
We don't have to understand them, we handle them as a GL texture. https://bugzilla.gnome.org/show_bug.cgi?id=762792
2016-02-26adaptivedemux: handle snap seeking without setting any positionThiago Santos2-30/+69
When the start_type is GST_SEEK_TYPE_NONE for a forward seek (or stop_type for a reverse) is not set on a snap seeking operation, the element should use the current position and then snap as requested. Also fixes uninitialized variable complaint by clang about 'ts' variable.
2016-02-26dashdemux: sync index and the selected chunk when seekingThiago Santos1-1/+1
Otherwise the chunk selected isn't matched to the index and the timing will be different, causing it to actually start from a different position
2016-02-26Automatic update of common submoduleSebastian Dröge1-0/+0
From a253974 to 6f2d209
2016-02-26eglimagememory: add compatibility definitions for EGL dmabufMatthew Waters1-0/+20
e.g. the RPi doesn't have them defined
2016-02-26opus: rename plugin to opusparse for the time beingTim-Philipp Müller3-8/+9
Until we fix it up and get rid of the opus dependency and move it elsewhere too.
2016-02-26opus: remove Opus encoder/decoder, moved to -baseTim-Philipp Müller14-2915/+2
https://bugzilla.gnome.org/show_bug.cgi?id=756282
2016-02-26glcontext: add a method to add a context to another share groupMatthew Waters3-1/+30
Intended for use with wrapped contexts that are created shared with gst's gl contexts in order to manage the internal sharegroup state correctly. e.g. with caopengllayer (which is used in glimagesink and caopengllayersink on OS X), we create a CGL context from the gst context and the sharing state was not being correctly set on either GL context and gst_gl_context_is_shared() was always returning FALSE. With 11fb4fff80b63b9d67a731d4bb238b6c0a29d774 only flushing with multiple shared contexts, the required flush was not occuring causing screen corruption or stuttering. Note: this didn't affect GST_GL_API=opengl pipelines https://bugzilla.gnome.org/show_bug.cgi?id=762620
2016-02-25opus: remove Opus RTP elements, they have moved to -goodTim-Philipp Müller10-658/+6
https://bugzilla.gnome.org/show_bug.cgi?id=756282
2016-02-25hlsdemux: tests: pass test name into test setup functionAlex Ashley1-5/+6
All hlsdemux tests create a GstStructure called "state" that can be used by test cases to store information during a test. The name of this structure is arbitrary. When the code was written, the intention was to use the name of the test, to aid debugging. However, during development this was lost, so that the state GstStructure is always given the name "setup_test_variables". This commit changes this so that the name of the test is used. https://bugzilla.gnome.org/show_bug.cgi?id=762684
2016-02-25tests: compositor: drop special case for valgrind timeoutThiago Santos1-11/+0
The default one is 6 minutes, the test was using 5 minutes so just resort to using the default. For the non-valgrind test also use the default 20 secs instead of reducing it to 6s. No real reason to set a custom value here.
2016-02-25tests: compositor: add tests for caps queriesThiago Santos1-69/+80
Verifies that proper caps are returned based on what downstream restricts.
2016-02-25videoaggregator: fix caps queries to allow proper renegotiationThiago Santos2-9/+212
When caps are already negotiated it should be possible to select formats other than the one that was negotiated. If downstream allows alpha video caps and it has already negotiated to a non-alpha format, caps queries should still return the alpha caps as a possible format as caps renegotiation can happen. Includes tests (for compositor) to check that caps queries done after a caps has been negotiated returns complete results https://bugzilla.gnome.org/show_bug.cgi?id=757610
2016-02-25vtdec: Negotiate the decoder in set_format() alreadySebastian Dröge1-1/+1
Don't wait until later, we want to know here if the codec can be opened or not for the requested format. This was removed (accidentially?) by 119e09eac315f79ac2cf45b4441ad1d932130614 Without this decodebin has no way to switch to a different decoder if this one does not work. https://bugzilla.gnome.org/show_bug.cgi?id=762613
2016-02-25avfvideosrc: Frame durations as CTime to the API, not doubleJoe Gorse1-4/+2
Newer iOS seems to automatically convert, older iOS/OSX just crashes. https://bugzilla.gnome.org/show_bug.cgi?id=762575
2016-02-25nvenc: release the frames and list when searching for an output bufferMatthew Waters1-4/+14
Fixes a massive leak in: videotestsrc ! nvh264enc ! fakesink
2016-02-24qt: use a static_cast instead of dynamic oneMatthew Waters2-2/+2
The dynamic_cast is a little but of overkill as the app will still crash if it fails in the later g_assert. Allows compilation with -fno-rtti https://bugzilla.gnome.org/show_bug.cgi?id=762526
2016-02-24glmixer: iterator didn't advance in continue statementWang Xin-yu (王昕宇)3-0/+4
Leading to a deadlock. https://bugzilla.gnome.org/show_bug.cgi?id=760873
2016-02-23dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after ↵Sebastian Dröge1-3/+2
has_current_caps() Remove calls to gst_pad_has_current_caps() which then go on to call gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just use gst_pad_get_current_caps() and check for NULL. https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-23disparity: Don't assume that get_current_caps() returns non-NULL caps after ↵Dave Craig1-2/+2
has_current_caps() Remove calls to gst_pad_has_current_caps() which then go on to call gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just use gst_pad_get_current_caps() and check for NULL. https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-23dashdemux: correctly handle an HTTP-XSDATE that is exactly the size of the ↵Florin Apostol1-6/+8
date string The code in the gst_dash_demux_parse_http_xsdate() was trying to handle the case where the string is not null terminated by resizing the buffer and appending a zero byte. This does not work if the buffer is exactly the length of the string because the gst_buffer_resize() function does not re-allocate the buffer, it just changes its size. If a buffer is passed to gst_dash_demux_parse_http_xsdate() that is exactly the length of the string, the function fails with an assert failure in gst_buffer_resize(). https://bugzilla.gnome.org/show_bug.cgi?id=762148
2016-02-23docs: Add audiointerleaveSebastian Dröge2-0/+15
2016-02-23fbdevsink: fix bytes per pixel calculationPeter Seiderer1-1/+1
Simple pipeline $ gst-launch-1.0 videotestsrc ! fbdevsink crashes with SIGSEGV in case the frambuffer xres is smaller than the virtual xres resolution, e.g.: $ fbset mode "800x480-0" # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz geometry 800 480 1920 1200 16 timings 0 0 0 0 0 0 0 accel true rgba 5/11,6/5,5/0,0/0 endmode Debug: $ gdb gst-launch-1.0 (gdb) run videotestsrc ! fbdevsink (gdb) where #0 0xb6bd2d24 in __memcpy_neon () at ../sysdeps/arm/armv7/multiarch/memcpy_impl.S:591 #1 0xb69b04e8 in gst_fbdevsink_show_frame (videosink=0x10a3378, buf=0xb5c08838) at gstfbdevsink.c:269 #2 0xb69e88c4 in gst_base_sink_do_preroll (sink=sink@entry=0x10a3378, obj=0xb5c08838, obj@entry=0xa0) at gstbasesink.c:2281 #3 0xb69e92bc in gst_base_sink_do_sync (basesink=basesink@entry=0x10a3378, obj=0xa0, obj@entry=0xb5c08838, late=0x0, late@entry=0xb6548ba0, step_end=0x140, step_end@entry=0xb6548ba4) at gstbasesink.c:2500 #4 0xb69ea67c in gst_base_sink_chain_unlocked ( basesink=basesink@entry=0x10a3378, obj=0x0, obj@entry=0xb5c08838, is_list=is_list@entry=0, pad=<optimized out>) at gstbasesink.c:3486 #5 0xb69ec1c0 in gst_base_sink_chain_main (basesink=0x10a3378, pad=<optimized out>, obj=0xb5c08838, is_list=0) at gstbasesink.c:3647 #6 0xb6eb5b10 in gst_pad_chain_data_unchecked (pad=0x10a6170, type=<optimized out>, data=0xb5c08838) at gstpad.c:4086 #7 0xb6eb7a34 in gst_pad_push_data (pad=pad@entry=0x10a6020, type=type@entry=4112, data=0xb5c08838) at gstpad.c:4338 #8 0xb6ebf344 in gst_pad_push (pad=pad@entry=0x10a6020, buffer=<optimized out>) at gstpad.c:4454 #9 0xb69f22f0 in gst_base_src_loop (pad=0x10a6020) at gstbasesrc.c:2845 #10 0xb6eeddfc in gst_task_func (task=0x10a8828) at gsttask.c:331 #11 0xb6d485a0 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpoQuit (gdb) frame 1 #1 0xb69b04e8 in gst_fbdevsink_show_frame (videosink=0x10a3378, buf=0xb5c08838) at gstfbdevsink.c:269 269 gstfbdevsink.c: No such file or directory. (gdb) p fbdevsink $1 = (GstFBDEVSink *) 0x10a3378 (gdb) p *fbdevsink $2 = {videosink = {element = {element = {object = {object = { g_type_instance = {g_class = 0x10a2d60}, ref_count = 3, qdata = 0x0}, lock = {p = 0x0, i = {0, 0}}, name = 0x10a2f30 "fbdevsink0", parent = 0x10a70a0, flags = 32, control_bindings = 0x0, control_rate = 100000000, last_sync = 18446744073709551615, _gst_reserved = 0x0}, state_lock = {p = 0x109f9a8, i = {0, 0}}, state_cond = {p = 0x0, i = { 3, 0}}, state_cookie = 2, target_state = GST_STATE_PAUSED, current_state = GST_STATE_READY, next_state = GST_STATE_PAUSED, pending_state = GST_STATE_PAUSED, last_return = GST_STATE_CHANGE_ASYNC, bus = 0x108bcb8, clock = 0x0, base_time = 0, start_time = 0, numpads = 1, pads = 0x109cc20, numsrcpads = 0, srcpads = 0x0, numsinkpads = 1, sinkpads = 0x109cc30, pads_cookie = 1, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, sinkpad = 0x10a6170, pad_mode = GST_PAD_MODE_PUSH, offset = 0, can_activate_pull = 0, can_activate_push = 1, preroll_lock = {p = 0x1, i = {1, 0}}, preroll_cond = {p = 0x0, i = {0, 0}}, eos = 0, need_preroll = 1, have_preroll = 0, playing_async = 1, have_newsegment = 1, segment = {flags = GST_SEGMENT_FLAG_NONE, rate = 1, applied_rate = 1, format = GST_FORMAT_TIME, base = 0, offset = 0, start = 0, stop = 18446744073709551615, time = 0, position = 33333333, duration = 18446744073709551615, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, clock_id = 0x0, sync = 1, flushing = 0, running = 0, max_lateness = 20000000, priv = 0x10a3188, _gst_reserved = { 0x0 <repeats 20 times>}}, width = 0, height = 0, priv = 0x10a3180, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, fixinfo = { id = '\000' <repeats 15 times>, smem_start = 1078984704, smem_len = 4608000, type = 0, type_aux = 0, visual = 2, xpanstep = 1, ypanstep = 1, ywrapstep = 0, line_length = 3840, mmio_start = 0, mmio_len = 0, accel = 0, capabilities = 0, reserved = {0, 0}}, varinfo = { xres = 800, yres = 480, xres_virtual = 1920, yres_virtual = 1200, xoffset = 0, yoffset = 0, bits_per_pixel = 16, grayscale = 0, red = { offset = 11, length = 5, msb_right = 0}, green = {offset = 5, length = 6, msb_right = 0}, blue = {offset = 0, length = 5, msb_right = 0}, transp = {offset = 0, length = 0, msb_right = 0}, nonstd = 0, activate = 0, height = 4294967295, width = 4294967295, accel_flags = 1, pixclock = 0, left_margin = 0, right_margin = 0, upper_margin = 0, lower_margin = 0, hsync_len = 0, vsync_len = 0, sync = 0, vmode = 0, rotate = 0, colorspace = 0, reserved = {0, 0, 0, 0}}, fd = 5, framebuffer = 0xb654a000 <error: Cannot access memory at address 0xb654a000>, device = 0x10a38d8 "/dev/fb0", width = 320, height = 240, cx = 240, cy = 120, linelen = 1280, lines = 240, bytespp = 4, fps_n = 30, fps_d = 1} (gdb) p map $3 = {memory = 0xb5d24008, flags = GST_MAP_READ, data = 0xb5d24058 '\377' <repeats 90 times>, "\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\377\a\377\a\377\a\377\a\377\a\377\a\377\a\377\a\377\a"..., size = 153600, maxsize = 153603, user_data = {0x0, 0xb69e3ba4 <gst_base_sink_set_last_buffer_unlocked+92>, 0x10a3378, 0x0}, _gst_reserved = {0x1, 0x10a3378, 0xb6f50dd8 <_gst_debug_min>, 0xb5c08838}} (gdb) p i $4 = 121 Fix this by changing the fbdevsink->bytespp calculation using the frame buffer xres_virtual size instead of xres. https://bugzilla.gnome.org/show_bug.cgi?id=762482
2016-02-22player: Expose more GstVideoOverlay API in the ↵Sebastian Dröge4-1/+98
GstPlayerVideoOverlayVideoRenderer Expose the expose() and set_render_rectangle() methods. These are useful for proper functioning of the video overlay in various situations and toolkits.
2016-02-22gl: fix the buildMatthew Waters2-3/+3
2d287812 was incomplete