Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update RELEASE with more bug details after release1.6 | Tim-Philipp Müller | 2016-04-14 | 1 | -0/+15 |
| | |||||
* | Release 1.6.41.6.4 | Tim-Philipp Müller | 2016-04-14 | 84 | -153/+781 |
| | |||||
* | decklink: Initialize capture_time to NONE so it can be used if no video ↵ | Sebastian Dröge | 2016-04-08 | 1 | -1/+1 |
| | | | | | | frame is provided but audio is CID 1358390 | ||||
* | libs: g-i: fix init section to avoid compiler warnings | Tim-Philipp Müller | 2016-04-06 | 3 | -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 | ||||
* | decklinkaudiosrc: Don't accept packets without timestamps after a discont | Sebastian Dröge | 2016-04-06 | 1 | -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 | ||||
* | decklinkaudiosrc: Don't crash when receiving video frames but no audio | Sebastian Dröge | 2016-04-06 | 3 | -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 | ||||
* | decklinkvideosrc: don't crash if we get NULL video frames in the callback | Tim-Philipp Müller | 2016-04-06 | 1 | -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 | ||||
* | curlsink: catch an unknown error | Patricia Muscalu | 2016-04-06 | 1 | -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 | ||||
* | directsoundsrc: add missing -lole32 | Kouhei Sutou | 2016-04-06 | 1 | -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 | ||||
* | h264parse: constrained-baseline is a subset of baseline | Sebastian Dröge | 2016-04-06 | 1 | -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 | ||||
* | mpegtsbase: plug EIT string leak | Thiago Santos | 2016-04-06 | 1 | -0/+1 |
| | |||||
* | dvbbasebin: unref pat table after usage | Thiago Santos | 2016-04-06 | 1 | -0/+1 |
| | | | | | Remember to unref the GPtrArray of the PAT table after use | ||||
* | dvbbasebin: plug some leaks | Thiago Santos | 2016-04-06 | 1 | -0/+5 |
| | | | | Plug various leaks in dvbbasebin. | ||||
* | mxfdemux: Fix query memory leak | Jimmy Ohn | 2016-04-06 | 1 | -0/+2 |
| | | | | | | Peer query isn't being freed in case of GST_QUERY_SEEKING. https://bugzilla.gnome.org/show_bug.cgi?id=763974 | ||||
* | h264parse, h265parse: fix handling of downstream force-key-unit events | Aleksander Wabik | 2016-04-06 | 2 | -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 | ||||
* | wayland: fix null pointer dereference on error | Matthew Waters | 2016-04-06 | 1 | -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 | ||||
* | mxfmux: Fix typo in JPEG2000 colorspace | Sebastian Dröge | 2016-04-06 | 1 | -1/+1 |
| | | | | sRGC -> sRGB | ||||
* | videoparsers: h265: Fix segfault while transforming hevc to nal aligned ↵ | Sreerenj Balachandran | 2016-04-06 | 1 | -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 | ||||
* | tsdemux: Don't reset/recalculate segments with accurate seeks | Edward Hervey | 2016-04-06 | 1 | -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 | ||||
* | qml: Fix leak of the OpenGL contexts | Sergey Borovkov | 2016-04-06 | 1 | -1/+4 |
| | | | | | | [Matthew Waters]: add NULL checks before unreffing https://bugzilla.gnome.org/show_bug.cgi?id=762999 | ||||
* | mpegtspacketizer: handle early PTS conversion when a group has been found | Aurélien Zanelli | 2016-04-06 | 1 | -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 | ||||
* | dashdemux: correctly handle an HTTP-XSDATE that is exactly the size of the ↵ | Florin Apostol | 2016-04-06 | 1 | -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 | ||||
* | fbdevsink: fix bytes per pixel calculation | Peter Seiderer | 2016-04-06 | 1 | -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 | ||||
* | mpeg4parser: prevent assertion when scanning for sync code | Thiago Santos | 2016-04-06 | 1 | -2/+5 |
| | | | | | Only search if there is indeed enough data to be searched otherwise an assertion is raised | ||||
* | curlbasesink: don't send empty buffers | David Fernandez | 2016-04-06 | 1 | -2/+7 |
| | | | | | | Fixes problem in curlhttpsink when qtmux uses faststart. https://bugzilla.gnome.org/show_bug.cgi?id=762013 | ||||
* | mssdemux: do not assert on fragment reloads for non-live | Thiago Santos | 2016-04-06 | 1 | -2/+0 |
| | | | | | It can be used as a resource to verify if the server has updated something in the Manifest when downloads are failing | ||||
* | decklinkaudiosrc: Fix discont tracking | Jan Schmidt | 2016-04-06 | 1 | -1/+2 |
| | | | | | Don't reset the marker that's tracking disconts until either the discont disappears or we resync. | ||||
* | opusdec: fix wrong buffer being checked for missing data | Vincent Penquerc'h | 2016-04-06 | 1 | -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 | ||||
* | adaptivedemux: fix segment update on seeks | Thiago Santos | 2016-04-06 | 1 | -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 limit | Thiago Santos | 2016-04-06 | 1 | -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 playback | Thiago Santos | 2016-04-06 | 1 | -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. | ||||
* | mpeg2enc: Provide format as a string instead of a char to gst_structure_new | Vivia Nikolaidou | 2016-03-04 | 1 | -1/+1 |
| | | | | The format was provided as 'I420' instead of "I420", causing a crash. | ||||
* | adaptivedemux: fix race on shutdown that could result in deadlocks | Tim-Philipp Müller | 2016-02-20 | 2 | -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. | ||||
* | ladspa: Fix some debugs | Thibault Saunier | 2016-02-17 | 1 | -4/+3 |
| | |||||
* | gtk(gl)sink: remove the signal handlers on finalize | Matthew Waters | 2016-02-16 | 2 | -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 | ||||
* | glvideomixer: fix checker vbo leak | Wang Xin-yu (王昕宇) | 2016-02-01 | 1 | -0/+5 |
| | | | | https://bugzilla.gnome.org/show_bug.cgi?id=760925 | ||||
* | glprototypes: fix parameter type of glGenBuffers | Wang Xin-yu (王昕宇) | 2016-01-29 | 1 | -1/+1 |
| | | | | | | The number of buffers should be GLsizei instead of GLuint. https://bugzilla.gnome.org/show_bug.cgi?id=761272 | ||||
* | gleffects: fix gleffects fisheye shader compile error | Haihua Hu | 2016-01-29 | 1 | -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 | ||||
* | h265parse: Fix buffer leak when sps is not present | Vineeth TM | 2016-01-25 | 1 | -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 | ||||
* | h265parse: Fix buffer memory leak. | Vineeth TM | 2016-01-25 | 1 | -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 | ||||
* | Release 1.6.31.6.3 | Sebastian Dröge | 2016-01-20 | 82 | -145/+343 |
| | |||||
* | Update .po files | Sebastian Dröge | 2016-01-20 | 40 | -40/+40 |
| | |||||
* | shmsink: fix possible deadlock in _render()/ _allocator_free() | Matt Crane | 2016-01-16 | 1 | -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 | ||||
* | sbc: sbcdec: Fix frame length calculation | Tim Sheridan | 2016-01-16 | 1 | -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 | ||||
* | qml: Mark material dirty when texture buffer is updated | Sergey Borovkov | 2016-01-15 | 1 | -0/+1 |
| | | | | | | Qt might not redraw the scene otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=758286 | ||||
* | mpegtsmux: fix reserve bits so they are 1's | Bob Holcomb | 2016-01-11 | 1 | -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 | ||||
* | mxftypes: Don't store pointers in stack allocated guints | Sebastian Dröge | 2016-01-11 | 1 | -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. | ||||
* | gl: Add \0 terminators for the Apple sync extension | Sebastian Dröge | 2015-12-28 | 1 | -2/+2 |
| | | | | Otherwise GL initialization might check for extensions forever and never finishes. | ||||
* | pcapparse: don't crash on 0-sized packets | Tim-Philipp Müller | 2015-12-23 | 1 | -1/+5 |
| | | | | https://bugzilla.gnome.org/show_bug.cgi?id=756573 | ||||
* | openjpegdec: Don't crash when decoding returns NULL data for any component | Sebastian Dröge | 2015-12-18 | 1 | -0/+9 |
| | | | | https://bugzilla.gnome.org/show_bug.cgi?id=758943 |