summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update RELEASE with more bug details after release1.6Tim-Philipp Müller2016-04-141-0/+15
|
* Release 1.6.41.6.4Tim-Philipp Müller2016-04-1484-153/+781
|
* decklink: Initialize capture_time to NONE so it can be used if no video ↵Sebastian Dröge2016-04-081-1/+1
| | | | | | frame is provided but audio is CID 1358390
* libs: g-i: fix init section to avoid compiler warningsTim-Philipp Müller2016-04-063-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 discontSebastian Dröge2016-04-061-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 audioSebastian Dröge2016-04-063-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 callbackTim-Philipp Müller2016-04-061-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 errorPatricia Muscalu2016-04-061-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 -lole32Kouhei Sutou2016-04-061-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 baselineSebastian Dröge2016-04-061-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 leakThiago Santos2016-04-061-0/+1
|
* dvbbasebin: unref pat table after usageThiago Santos2016-04-061-0/+1
| | | | | Remember to unref the GPtrArray of the PAT table after use
* dvbbasebin: plug some leaksThiago Santos2016-04-061-0/+5
| | | | Plug various leaks in dvbbasebin.
* mxfdemux: Fix query memory leakJimmy Ohn2016-04-061-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 eventsAleksander Wabik2016-04-062-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 errorMatthew Waters2016-04-061-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 colorspaceSebastian Dröge2016-04-061-1/+1
| | | | sRGC -> sRGB
* videoparsers: h265: Fix segfault while transforming hevc to nal aligned ↵Sreerenj Balachandran2016-04-061-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 seeksEdward Hervey2016-04-061-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 contextsSergey Borovkov2016-04-061-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 foundAurélien Zanelli2016-04-061-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 Apostol2016-04-061-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 calculationPeter Seiderer2016-04-061-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 codeThiago Santos2016-04-061-2/+5
| | | | | Only search if there is indeed enough data to be searched otherwise an assertion is raised
* curlbasesink: don't send empty buffersDavid Fernandez2016-04-061-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-liveThiago Santos2016-04-061-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 trackingJan Schmidt2016-04-061-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 dataVincent Penquerc'h2016-04-061-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 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.
* mpeg2enc: Provide format as a string instead of a char to gst_structure_newVivia Nikolaidou2016-03-041-1/+1
| | | | The format was provided as 'I420' instead of "I420", causing a crash.
* 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.
* ladspa: Fix some debugsThibault Saunier2016-02-171-4/+3
|
* gtk(gl)sink: remove the signal handlers on finalizeMatthew Waters2016-02-162-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 leakWang Xin-yu (王昕宇)2016-02-011-0/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=760925
* 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
* gleffects: fix gleffects fisheye shader compile errorHaihua Hu2016-01-291-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 presentVineeth TM2016-01-251-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 TM2016-01-251-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.3Sebastian Dröge2016-01-2082-145/+343
|
* Update .po filesSebastian Dröge2016-01-2040-40/+40
|
* shmsink: fix possible deadlock in _render()/ _allocator_free()Matt Crane2016-01-161-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 calculationTim Sheridan2016-01-161-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 updatedSergey Borovkov2016-01-151-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'sBob Holcomb2016-01-111-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 guintsSebastian Dröge2016-01-111-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 extensionSebastian Dröge2015-12-281-2/+2
| | | | Otherwise GL initialization might check for extensions forever and never finishes.
* pcapparse: don't crash on 0-sized packetsTim-Philipp Müller2015-12-231-1/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=756573
* openjpegdec: Don't crash when decoding returns NULL data for any componentSebastian Dröge2015-12-181-0/+9
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=758943