summaryrefslogtreecommitdiff
path: root/gst
Commit message (Collapse)AuthorAgeFilesLines
* mxfdemux: Fix query memory leakJimmy Ohn2016-03-211-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-03-172-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-03-161-1/+1
| | | | sRGC -> sRGB
* tsdemux: add video/x-h265 to template capsTim-Philipp Müller2016-03-121-0/+2
|
* mpegts: Don't leave freed programs in the hash tableJan Schmidt2016-03-122-0/+15
| | | | | | | | | | When the sub-class claims a program for later freeing, make sure it's not left in the hash table, or it can cause crashes on shutdown. Make sure tsdemux frees any program it has kept around at shutdown if it wasn't freed already. https://bugzilla.gnome.org/show_bug.cgi?id=763503
* videoparsers: h265: Fix segfault while transforming hevc to nal aligned ↵Sreerenj Balachandran2016-03-111-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
* mpegvideoparser: Handle non-hierarchical profiles againEdward Hervey2016-03-091-10/+10
| | | | | | | | | | | | | This is a regression from since mpegvideoparser was switched to use the codecparsing library. The problem is that the high bit of the profile_and_level is used to specify non-hierarchical profiles and levels. Unfortunately we were discarding that information. Expose that escape bit, and use it in the element https://bugzilla.gnome.org/show_bug.cgi?id=763220
* tsdemux: Don't reset/recalculate segments with accurate seeksEdward Hervey2016-03-081-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-03-031-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
* videoparsers: h264: Disable passthorugh mode enablingSreerenj Balachandran2016-02-291-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
* sdpdemux: Set caps to application/x-rtp instead of application/x-unknown as ↵Sebastian Dröge2016-02-291-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
* sdpdemux: Add pads with the correct names in case an rtpbin is usedSebastian Dröge2016-02-291-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
* dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after ↵Sebastian Dröge2016-02-231-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
* aiffparse: fix negotiation errors with multi-channel filesTim-Philipp Müller2016-02-211-0/+46
| | | | | | | | | | Set fallback channel layout on files with more than two channels. Not clear where to retrieve the real layout from or what the default layout is for AIFF files, the spec only seems to specify some layout for up to 6 channels and the file in question doesn't have a CHAN chunk. https://bugzilla.gnome.org/show_bug.cgi?id=676425
* win32: remove outdated build cruftTim-Philipp Müller2016-02-217-1051/+0
| | | | | | This hasn't been touched for generations, doesn't work, and is just causing confusion. We also don't want to maintain these files manually.
* tsparse: Fix per-program-pad pushingEdward Hervey2016-02-191-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes a couple of issues regarding the output of (request) per-program pads output: We would never push out PAT sections (ok, that was one reallly stupid mistake. I guess nobody ever uses this feature ...). In the case where the PMT section of a program was bigger than one packet, we would only end up pushing the last packet of that PMT. Which obviously results in the resulting stream never containing the proper (complete) PMT. The problem was that the program is only started (in the base class) after the PMT section is completely parsed. When dealing with single-program pads, tsparse only wants to push the PMT corresponding to the requested program (and not the other ones). tsparse did that check by looking at the streams of the program... ... but that program doesn't exist for the first packets of the initial PMT. The fix is to use the base class program information (if it parsed the PAT it already has some information, like the PMT PID for a given program) if the program hasn't started yet.
* tsparse: Use GstFlowCombinerEdward Hervey2016-02-192-3/+28
| | | | | | | In addition to the fact that it's a sane thing to do for multi-source pad elements, it also avoids the situation where just using a request pad (and not the main static pad) would result in the processing stopping.
* mpegtsbase: Refactor code to check for subclass seek handlingVineeth TM2016-02-171-10/+12
| | | | | | | If subclass is not able to handle seek event, then there is no need to stop streaming and send flush events. We should simply return FALSE https://bugzilla.gnome.org/show_bug.cgi?id=758516
* mpegtsbase: Add condition to check for non working negative rateVineeth TM2016-02-171-0/+5
| | | | | | | | | tsdemux is not able to handle negative playback rates. But in mpegtsbase, the same check is not being done. added a check to not handle negative rate while seeking unless the same is handled upstream. https://bugzilla.gnome.org/show_bug.cgi?id=758516
* rtp: move RTP H.265 payloader/depayloader to -goodTim-Philipp Müller2016-02-166-3357/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=761606
* netsim: Add netsim elementStian Selnes2016-02-123-0/+553
| | | | | | | Resurrected from the Farstream repository and given an overhaul to fix races, deadlocks etc. https://bugzilla.gnome.org/show_bug.cgi?id=756252
* gstrtph265depay: keep consistency with rtph264depayLuis de Bethencourt2016-02-052-10/+27
| | | | | | Use gst_rtp_drop_meta() and the same function prototype for gst_rtp_copy_meta() to keep consistency with the RTP elements in gst-plugins-good
* rtph265depay: fix termination of access unitLuis de Bethencourt2016-02-051-2/+0
| | | | | Only consider the access unit complete when the next-occurring VCL NAL unit has the first bit after its NAL unit header equal to 1.
* h264parse: remove unused mview_mode valueLuis de Bethencourt2016-02-041-2/+0
| | | | | | | Since commit b77f8e172a3f0be6be5cb4a72e654253404e694f the new value assigned to mview_mode hasn't been used. That commit changed the following "if" check to an "else if", which means the original value of mview_mode is used.
* h265parse: avoid sending unnecessary downstream caps queries/eventsMatthew Waters2016-02-041-11/+26
| | | | | | | | | | h265 versions of the following commits: f352691a04896d0de3381fe8ee85ada948bd6337 try the current caps before querying downstream 72bc7d7f736a10117fedb8e1d4013a4946cfefbc increase caps equality check for no codec_data https://bugzilla.gnome.org/show_bug.cgi?id=761014
* h264parse: increase caps equality check for no codec_dataMatthew Waters2016-02-041-6/+12
| | | | | | | | When converting from avc to byte-stream, there will not be any codec_data in the src caps. Remove it before the equality check to avoid sending caps events downstream on every SPS/PPS change. https://bugzilla.gnome.org/show_bug.cgi?id=761014
* h264parse: try the current caps before querying downstreamMatthew Waters2016-02-041-5/+13
| | | | | | | | If we have a stream that contains an unchanging SPS/PPS for every video frame, we don't need to to constantly query downstream for it's supported caps if the current caps are compatible with the negotiated caps. https://bugzilla.gnome.org/show_bug.cgi?id=761014
* docs: remove some leftover 'Since 0.10.x' markersTim-Philipp Müller2016-02-032-3/+1
|
* debugutils: use generic marshallerTim-Philipp Müller2016-02-034-22/+1
|
* mxftypes: Generate UUIDs according to RFC4122 version 4 (aka random)Sebastian Dröge2016-01-291-1/+2
| | | | Instead of fully random UUIDs, these should follow a scheme.
* mxfmetadata: Properly write video line map data as an array of 32 bit integersSebastian Dröge2016-01-291-2/+4
|
* mxfmetadata: DMSchemes in the Preface is a required fieldSebastian Dröge2016-01-291-13/+11
| | | | Even if it has 0 entries.
* mxful: Fix Content Storage ULSebastian Dröge2016-01-291-2/+2
|
* mxfmetadata: Best effort values must be written and if unset must contain ↵Sebastian Dröge2016-01-291-147/+120
| | | | | | the distinguished value It's invalid to not write them at all.
* mxful: Add missing OperationalPattern UL, which fixes an off-by-one with the ↵Sebastian Dröge2016-01-291-0/+3
| | | | others
* mxfmux: Our body partition is always complete and closedSebastian Dröge2016-01-291-0/+2
| | | | We have no metadata in it.
* mxfmux: Use IndexSID of 2 instead of 1Sebastian Dröge2016-01-291-1/+1
| | | | Some tools complain if essence and index have the same SID.
* mxfmux: Rewrite body partition pack on EOS and mark it as complete/closedSebastian Dröge2016-01-291-0/+23
|
* videoparse: initialize update_size to FALSE when updating infoAurélien Zanelli2016-01-281-1/+1
| | | | | | | Otherwise, behavior will be undefined when no strides/offsets are set and it will likely go wrong. https://bugzilla.gnome.org/show_bug.cgi?id=760270
* videoparse: Fix framesize calculationNicolas Dufresne2016-01-281-3/+6
| | | | | | | | | | When the framesize is not specified, we try and calculate a size from the strides and offset information. This was done with the sum of offsets + the size of the last frame. That is just wrong method. We also need to account for video meta that may be flipping two planes. An example is if you convert I420 to YV12 by flipping the two last offsets. https://bugzilla.gnome.org/show_bug.cgi?id=760270
* gdpdepay: Add ts-offset property to adjust buffer timestampsSebastian Dröge2016-01-282-0/+62
|
* mxfmpeg: Write the correct essence container UL for all codecsSebastian Dröge2016-01-281-1/+13
|
* mxfmpeg: Write version number into the picture essence coding ULSebastian Dröge2016-01-281-0/+4
|
* mxfmux: Write a timecode track into the source package tooSebastian Dröge2016-01-281-13/+90
|
* videoparse: use decide_allocation to check if downstream supports videometaAurélien Zanelli2016-01-282-3/+32
| | | | | | If yes, we add them to each output buffers and we avoid frame copy. https://bugzilla.gnome.org/show_bug.cgi?id=760270
* rawparse: add 'decide_allocation' vfunc to let subclass parse an allocation ↵Aurélien Zanelli2016-01-282-0/+17
| | | | | | | | | query And so send an allocation query. This could be used to check whether downstream element supports some metas or not. https://bugzilla.gnome.org/show_bug.cgi?id=760270
* rawparse: use size of buffer we got from adapterAurélien Zanelli2016-01-281-2/+4
| | | | | | | Otherwise position in stream could be wrong if subclass 'pre_push_frame' method changes the buffer size. https://bugzilla.gnome.org/show_bug.cgi?id=760270
* videoparse: add properties to set framesize, strides and planes offsetsAurélien Zanelli2016-01-282-1/+317
| | | | | | | | | | To make parser work with image having non-standard strides, plane offsets or with padding between images. For now, since element doesn't check for videometa, we can't directly push buffers when these properties are set so it convert the frame in the pre_push_buffer method to remove any custom padding. https://bugzilla.gnome.org/show_bug.cgi?id=760270
* rawparse: rename 'set_buffer_flags' vfunc to 'pre_push_buffer'Aurélien Zanelli2016-01-283-6/+6
| | | | | | to allow subclass to change other fields of the buffer. https://bugzilla.gnome.org/show_bug.cgi?id=760270
* videoparse: cache video info in instanceAurélien Zanelli2016-01-282-27/+23
| | | | | | To avoid initializing and filling video info each time we need it. https://bugzilla.gnome.org/show_bug.cgi?id=760270