summaryrefslogtreecommitdiff
path: root/gst
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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
* 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
* 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
* 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
* 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.
* pcapparse: don't crash on 0-sized packetsTim-Philipp Müller2015-12-231-1/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=756573
* pcapparse: Forward FLUSH_STOP events downstream tooPaolo Pettinato2015-12-071-1/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=758913
* tsdemux: fix pending buffers leak when flushingNicolas Huet2015-11-161-0/+14
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=757895
* tsdemux: Fix pad leak when the pad is never exposedEtienne Peron2015-11-161-0/+2
| | | | | | | | If tsdemux never receives data for a stream, the corresponding pad will never be added and stream->active will remain FALSE. When the stream is removed, the pad will not be unreffed and will be leaked. https://bugzilla.gnome.org/show_bug.cgi?id=757873
* dvbsuboverlay: Don't send flush eventsEdward Hervey2015-11-071-30/+3
| | | | | | It is up to the element handling the seek to send flush events downstream, otherwise we end up with a situation where upstream would get unexpected GST_FLOW_FLUSHING
* ivfparse: Add vp9 supportSreerenj Balachandran2015-10-292-3/+23
| | | | | | Differentiate the vp8/vp9 bitstream based on fourcc. https://bugzilla.gnome.org/show_bug.cgi?id=757251
* pnmdec: drop frame in case of _handle() failureReynaldo H. Verdejo Pinochet2015-10-201-0/+1
| | | | | | | | Allows baseclass to handle it from there Related to: https://bugzilla.gnome.org/show_bug.cgi?id=756563
* pnmdec: propagate input state after parsingReynaldo H. Verdejo Pinochet2015-10-202-1/+32
| | | | | | | | | | Store and copy input state fields when setting the output state of the decoder. Avoids problems like the framerate set by an upstream element being ignored Related to: https://bugzilla.gnome.org/show_bug.cgi?id=756563
* pnmdec: completely reset parsing state at flushReynaldo H. Verdejo Pinochet2015-10-201-4/+1
| | | | | | | Makes sure the mngr struct reflects a clean state for the next frame, avoiding failures like: https://bugzilla.gnome.org/show_bug.cgi?id=756563
* id3tag: fix sample memory leakVineeth TM2015-10-071-1/+5
| | | | | | When getting sample from taglist, the memory is not being freed resulting in memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=756070
* audioaggregator: Fix build errorVineeth TM2015-10-071-7/+8
| | | | | | | | Build error due to wrong argument type in debug message aagg->priv->offset and next_offset are of type int64, but uint64 formatter is being used in logs. Changing all those to int64 https://bugzilla.gnome.org/show_bug.cgi?id=756065
* audioaggregator: Select the initial offset based on the start segment positionSebastian Dröge2015-10-021-3/+10
| | | | | | | instead of always using 0. Otherwise we might output a lot of silence in the beginning instead of outputting from the relevant position. https://bugzilla.gnome.org/show_bug.cgi?id=755623
* mpegtsmux: fix downstream key unit events handling with hlssinkTim-Philipp Müller2015-09-301-2/+1
| | | | | | | | | | | | | | | | The buffer timestamps in the collect function will already be running time, don't try to convert them again to running time, this would yield CLOCK_TIME_NONE now that the segment is shifted to account for negative dts. This fixes x264enc ! mpegtsmux ! hlssink, which was broken because mpegtsmux would send a downstream key unit event with running time NONE and then hlssink would immediately send another one upstream and it would just be a flood of force keyframe events in both directions after the first one. This would then break hlssink because it uses multifilesink in next-file=key-unit-event mode, and starting a new file after every few kB does not work well for HLS.
* dvdspu: fix pgs palette colorsArnaud Vrac2015-09-271-2/+2
| | | | | | U and V were inverted https://bugzilla.gnome.org/show_bug.cgi?id=755239
* audiomixer: fix deadlock when G_DISABLE_ASSERT is not definedTim-Philipp Müller2015-09-261-1/+1
| | | | | This makes the audiomixer unit test time out in master. Broke with 587e7c4
* audioaggregator: Only skip the remaining part of a GAP bufferSebastian Dröge2015-09-181-1/+1
| | | | | | | | We might've queued up a GAP buffer that is only partially inside the current output buffer (i.e. we received it too late!). In that case we should only skip the part of the GAP buffer that is inside the current output buffer, not also the remaining part. Otherwise we forward this pad too far into the future and break synchronization.
* dvdspu: pgs: fix printf format/argument mismatch in debug statementsTim-Philipp Müller2015-09-171-5/+6
| | | | Fixes compiler warnings when extra debugging is enabled at compile time.
* pcapparse: Hook up the recently added change_state vfunc.Jan Schmidt2015-09-181-1/+6
| | | | | The state change function was implemented, but not installed, making the compiler complain about the unused function.
* Don't throw compiler warnings with G_DISABLE_ASSERTJan Schmidt2015-09-181-2/+7
| | | | | Disable code that warns about unused variables when G_DISABLE_ASSERT is defined, as it is in tarballs and pre-releases.
* intervideosink: render preroll frames as wellTim-Philipp Müller2015-09-162-10/+9
| | | | | | | | | Derive from GstVideoSink so that preroll frames will automatically get rendered too, unless the show-preroll-frame property is set to FALSE. Fixes intervideosrc only picking up frames if intervideosink is in PLAYING state. https://bugzilla.gnome.org/show_bug.cgi?id=755049
* dvbsuboverlay: Check if downstream supports GstVideoOverlayComposition.Jan Schmidt2015-09-171-3/+13
| | | | | | | | Fix the negotiation of GstVideoOverlayComposition by checking intersection with the peer caps, rather than just accept-caps, which might only check the pad template. https://bugzilla.gnome.org/show_bug.cgi?id=755113
* audioaggregator: Fix mixup of running times and segment positionsSebastian Dröge2015-09-141-38/+100
| | | | | | | | | | | | | 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
* audioaggregator: Use stream time in the position query instead of segment ↵Sebastian Dröge2015-09-141-2/+3
| | | | | | position https://bugzilla.gnome.org/show_bug.cgi?id=753196
* compositor: Ensure all arguments to CLAMP are signed intNirbheek Chauhan2015-09-041-2/+2
| | | | | | | | | | | | If any of the arguments to CLAMP are unsigned integers, the comparison causes an automatic conversion of the signed int to unsigned, which causes -1 to become UINT_MAX and get clamped to the high value of the CLAMP instead of 0. See 716 at http://c0x.coding-guidelines.com/6.3.1.8.html Also add a test for this. https://bugzilla.gnome.org/show_bug.cgi?id=754576
* pcapparse: Reset state on flush and state changesOlivier Crête2015-08-311-4/+23
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=753152
* compositor: variables in clamp_rectangle() should be signedNirbheek Chauhan2015-08-291-7/+7
| | | | | | | | x/y/w/h are signed integers. As can be seen in GstCompositorPad. The prototype for clamp_rectangle was wrong. This commit reverts the change and fixes the prototype. This reverts commit bca444ea4a84c39e9989681f892f6e4cb2033cf9.
* Fix file permissions of some filesTim-Philipp Müller2015-08-281-0/+0
|
* compositor: remove check for below zero for unsigned valueLuis de Bethencourt2015-08-281-4/+4
| | | | | | | | CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative number since it is an unsigned integer. Removing that check and only checking if it is bigger than max by using MIN(). CID 1320707
* dvbsuboverlay: Fix caps memory leak by making static caps actually staticSebastian Dröge2015-08-271-1/+1
| | | | See https://bugzilla.gnome.org/show_bug.cgi?id=754157
* h264parse/h265parse: Fix negotiation crashNicolas Dufresne2015-08-262-2/+4
| | | | | | | | | | As it's recursive, gst_pad_get_allowed_caps() may also return empty for anything incompatible downstream. EMPTY is not valid caps value for gst_caps_fixate(). This lead to assertion and then crash. Ideally, the negotiate function should be re-factored to have a return value, and we could make the negotiation fails earlier. https://bugzilla.gnome.org/show_bug.cgi?id=754122
* compositor: Actually use the output resolution for clampingNirbheek Chauhan2015-08-261-17/+41
| | | | | | | | | | The obscured check in compositor was using the dimensions of the pad to clamp the h/w of the pad instead of the output resolution, and was doing an incorrect calculation to do so. Fix that by simplifying the whole calculation by using corner coordinates. Also add a test for this bug which fell through the cracks, and just skip all the obscured tests if the pad's alpha is 0.0. https://bugzilla.gnome.org/show_bug.cgi?id=754107
* tsdemux: fix latency handling againTim-Philipp Müller2015-08-241-2/+1
| | | | | | | | | | | | The tsdemux latency should always be added to the minimum latency (which is always a valid clock time value). The "cleanup" in commit a1f709c2 made it so that it would not be added if upstream reported 0 as minimum latency (as e.g. udpsrc would). This broke playback of live mpeg-ts streaming in some cases, leading to playback stutter due to a too-small configured latency for the pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=751508
* liveadder: fix assertion when copying buffer regionGuillaume Marquebielle2015-08-181-8/+41
| | | | | | | | | | | In gst_live_adder_chain() function, calls to gst_buffer_copy_region() can lead to assertion as 'offset + size <= bufsize' is not respected. Indeed 'offset' and 'size' parameters are calculated through calling gst_live_adder_length_from_duration(), and thus gst_util_uint64_scale_int_round(). Depending on the nearest integers, rounded values 'offset' and 'size' can then trigger the assertion. This case mainly occurs when 'skip' value is > 0 in chain function process. https://bugzilla.gnome.org/show_bug.cgi?id=753759
* videoencoders: use template subset check for accept-capsThiago Santos2015-08-171-0/+2
| | | | | | | It is faster than doing a query that propagates downstream and should be enough Elements: openjpegenc, schroenc, webpenc, pnmenc
* audioencoders: use template subset check for accept-capsThiago Santos2015-08-172-0/+3
| | | | | | | It is faster than doing a query that propagates downstream and should be enough Elements: faac, gsmenc, opusenc, sbcenc, voamrwbenc, adpcmenc, sirenenc
* videoparsers: Use gst_base_parse_merge_tags()Olivier Crête2015-08-168-16/+16
| | | | | | Instead of squashing all upstream tags https://bugzilla.gnome.org/show_bug.cgi?id=679768
* mpegtsdemux: Fix illogical comparisionEdward Hervey2015-08-161-1/+1
| | | | | | | A variable can't be two values at once. We want to stop if it's not the actual ts *AND* not the other ts CID #1316475
* audiodecoders: use default pad accept-caps handlingThiago Santos2015-08-152-0/+6
| | | | | | | | Avoids useless check of downstream caps when handling an accept-caps query Elements: dtsdec, faad, gsmdec, mpg123audiodec, opusdec, sbcdec, adpcmdec, sirendec