summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-04-14Update RELEASE with more bug details after release1.6Tim-Philipp Müller1-0/+15
2016-04-14Release 1.6.41.6.4Tim-Philipp Müller84-153/+781
2016-04-08decklink: Initialize capture_time to NONE so it can be used if no video ↵Sebastian Dröge1-1/+1
frame is provided but audio is CID 1358390
2016-04-06libs: g-i: fix init section to avoid compiler warningsTim-Philipp Müller3-3/+3
..GstPlayer-1.0.c: In function ‘main’: ..GstPlayer-1.0.c:587:3: warning: implicit declaration of function ‘gst_init’ https://bugzilla.gnome.org/show_bug.cgi?id=760090
2016-04-06decklinkaudiosrc: Don't accept packets without timestamps after a discontSebastian Dröge1-1/+10
We have no idea which timestamps they are supposed to have so the only thing we can do at this point is to drop them. Packets without timestamps happen if audio was captured but no corresponding video, which shouldn't happen under normal circumstances. https://bugzilla.gnome.org/show_bug.cgi?id=747633
2016-04-06decklinkaudiosrc: Don't crash when receiving video frames but no audioSebastian Dröge3-7/+16
And mark these events as disconts to reset time tracking in the audio source. https://bugzilla.gnome.org/show_bug.cgi?id=747633
2016-04-06decklinkvideosrc: don't crash if we get NULL video frames in the callbackTim-Philipp Müller1-1/+6
For some reason we seem to sometimes get NULL video_frames in the ::VideoInputFrameArrived() callback, observed on Intensity Pro cards. https://bugzilla.gnome.org/show_bug.cgi?id=747633
2016-04-06curlsink: catch an unknown errorPatricia Muscalu1-0/+9
In this case the socket callback has not been called by libcurl and the curlsink has not been notified about any connection problems by libcurl. This indicates that it's a bug in libcurl so catch it as an unknown error. https://bugzilla.gnome.org/show_bug.cgi?id=754432
2016-04-06directsoundsrc: add missing -lole32Kouhei Sutou1-1/+1
CLSIDFromString() requires ole32.dll. See https://msdn.microsoft.com/en-us/library/windows/desktop/ms680589%28v=vs.85%29.aspx CLSIDFromString() is introduced at f9464ce3549c2b3948a582464631ba4f8dd0d5e7 . https://bugzilla.gnome.org/show_bug.cgi?id=764523
2016-04-06h264parse: constrained-baseline is a subset of baselineSebastian Dröge1-1/+1
We get into this code path if the profile is already constrained-baseline and downstream does not support constrained-baseline. So we should try baseline and the other compatible profiles. https://bugzilla.gnome.org/show_bug.cgi?id=764448
2016-04-06mpegtsbase: plug EIT string leakThiago Santos1-0/+1
2016-04-06dvbbasebin: unref pat table after usageThiago Santos1-0/+1
Remember to unref the GPtrArray of the PAT table after use
2016-04-06dvbbasebin: plug some leaksThiago Santos1-0/+5
Plug various leaks in dvbbasebin.
2016-04-06mxfdemux: Fix query memory leakJimmy Ohn1-0/+2
Peer query isn't being freed in case of GST_QUERY_SEEKING. https://bugzilla.gnome.org/show_bug.cgi?id=763974
2016-04-06h264parse, h265parse: fix handling of downstream force-key-unit eventsAleksander Wabik2-4/+10
The parser handles the downstream force-key-unit event incorrectly, it tries to parse it as an upstream force-key-unit event, does not check the return value, and then uses uninitialized memory in "all_headers" boolean variable. https://bugzilla.gnome.org/show_bug.cgi?id=763793
2016-04-06wayland: fix null pointer dereference on errorMatthew Waters1-1/+2
gnome-shell doesn't the support wl_scaler interface which makes creating a wayland display fail creation. Found in the generic state changes test
2016-04-06mxfmux: Fix typo in JPEG2000 colorspaceSebastian Dröge1-1/+1
sRGC -> sRGB
2016-04-06videoparsers: h265: Fix segfault while transforming hevc to nal aligned ↵Sreerenj Balachandran1-2/+11
bytestream Create temporary ParseFrame and copy the nal size buffer region for each nal unit like we did for h264. https://bugzilla.gnome.org/show_bug.cgi?id=763494
2016-04-06tsdemux: Don't reset/recalculate segments with accurate seeksEdward Hervey1-3/+4
When dealing with accurate seeks, we must send out a segment which is exactly what is requested. https://bugzilla.gnome.org/show_bug.cgi?id=763262
2016-04-06qml: 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-04-06mpegtspacketizer: 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-04-06dashdemux: 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-04-06fbdevsink: 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-04-06mpeg4parser: prevent assertion when scanning for sync codeThiago Santos1-2/+5
Only search if there is indeed enough data to be searched otherwise an assertion is raised
2016-04-06curlbasesink: don't send empty buffersDavid Fernandez1-2/+7
Fixes problem in curlhttpsink when qtmux uses faststart. https://bugzilla.gnome.org/show_bug.cgi?id=762013
2016-04-06mssdemux: do not assert on fragment reloads for non-liveThiago Santos1-2/+0
It can be used as a resource to verify if the server has updated something in the Manifest when downloads are failing
2016-04-06decklinkaudiosrc: Fix discont trackingJan Schmidt1-1/+2
Don't reset the marker that's tracking disconts until either the discont disappears or we resync.
2016-04-06opusdec: fix wrong buffer being checked for missing dataVincent Penquerc'h1-2/+2
This caused a decoding error if the resulting (wrong) buffer size was passed to the Opus decoding API. https://bugzilla.gnome.org/show_bug.cgi?id=758158
2016-04-06adaptivedemux: fix segment update on seeksThiago Santos1-3/+3
Fixes typo on reverse rate check and also only update the position when the start/stop was actually changed.
2016-04-06adaptivedemux: stop reverse playback when we reach the limitThiago Santos1-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.
2016-04-06adaptivedemux: correctly track segment.position in reverse playbackThiago Santos1-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.
2016-03-04mpeg2enc: 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-02-20adaptivedemux: fix race on shutdown that could result in deadlocksTim-Philipp Müller2-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.
2016-02-17ladspa: Fix some debugsThibault Saunier1-4/+3
2016-02-16gtk(gl)sink: remove the signal handlers on finalizeMatthew Waters2-3/+12
It's possible that the sink element will be freed before the widget is destroyed. When the widget was eventually destroyed, it was attempting to access member variables of the freed sink struct which resulted in undefined behaviour. Fix by disconnecting our signal on finalize. https://bugzilla.gnome.org/show_bug.cgi?id=762098
2016-02-01glvideomixer: fix checker vbo leakWang Xin-yu (王昕宇)1-0/+5
https://bugzilla.gnome.org/show_bug.cgi?id=760925
2016-01-29glprototypes: fix parameter type of glGenBuffersWang Xin-yu (王昕宇)1-1/+1
The number of buffers should be GLsizei instead of GLuint. https://bugzilla.gnome.org/show_bug.cgi?id=761272
2016-01-29gleffects: fix gleffects fisheye shader compile errorHaihua Hu1-1/+1
On some embedded systems, sqrt() is not supported in the shader, use the actual value of sqrt(2) instead. Signed-off-by: Haihua Hu <b55597@freescale.com> Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761271
2016-01-25h265parse: Fix buffer leak when sps is not presentVineeth TM1-3/+4
When sps data is NULL, the buffer allocated and mapped is not being freed. In this scenario there is no need to allocate the buffer as we are supposed to return NULL. https://bugzilla.gnome.org/show_bug.cgi?id=761070
2016-01-25h265parse: Fix buffer memory leak.Vineeth TM1-1/+1
While setting caps, codec_data buffer is mapped, but not being unmapped leading to memory leaks. https://bugzilla.gnome.org/show_bug.cgi?id=761070
2016-01-20Release 1.6.31.6.3Sebastian Dröge82-145/+343
2016-01-20Update .po filesSebastian Dröge40-40/+40
2016-01-16shmsink: fix possible deadlock in _render()/ _allocator_free()Matt Crane1-1/+1
Drop object lock before unrefing memory, otherwise the object lock might be taken again from the allocator and then things deadlock. https://bugzilla.gnome.org/show_bug.cgi?id=760551
2016-01-16sbc: sbcdec: Fix frame length calculationTim Sheridan1-4/+4
SBC frame length calculation wasn't being rounded up to the nearest byte (as specified in the A2DP 1.0 specification, section 12.9). This could cause 'stereo' and 'joint stereo' mode SBC streams to have incorrectly calculated frame lengths. https://bugzilla.gnome.org/show_bug.cgi?id=742446
2016-01-15qml: Mark material dirty when texture buffer is updatedSergey Borovkov1-0/+1
Qt might not redraw the scene otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=758286
2016-01-11mpegtsmux: fix reserve bits so they are 1'sBob Holcomb1-3/+3
The MPEG standard (ISO-13880-1) says the reserve bits need to be set to one (2.1.64). This is causing transport streams to fail validation on some systems. https://bugzilla.gnome.org/show_bug.cgi?id=760127
2016-01-11mxftypes: Don't store pointers in stack allocated guintsSebastian Dröge1-4/+3
This works usually in this place, unless the compiler optimizes things in interesting ways in which case it causes stack corruption and crashes later. The compiler in question here is clang with -O1, which seems to pack the stack a bit more and causes writing to the guint as pointer to overwrite map.memory, which then later crashes during unmapping of the memory.
2015-12-28gl: Add \0 terminators for the Apple sync extensionSebastian Dröge1-2/+2
Otherwise GL initialization might check for extensions forever and never finishes.
2015-12-23pcapparse: don't crash on 0-sized packetsTim-Philipp Müller1-1/+5
https://bugzilla.gnome.org/show_bug.cgi?id=756573
2015-12-18openjpegdec: Don't crash when decoding returns NULL data for any componentSebastian Dröge1-0/+9
https://bugzilla.gnome.org/show_bug.cgi?id=758943