summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* rtpbin: add "get-session" signalMiguel París Díaz2016-02-162-0/+35
| | | | | | | This gets the GstRTPSession element, as compared to the RTPSession object that is returned by get-internal-session. https://bugzilla.gnome.org/show_bug.cgi?id=759293
* rtp: h265: hook up move RTP H.265 payloader/depayloader to buildTim-Philipp Müller2016-02-162-0/+13
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=761606
* rtp: h265: use common meta utility functionsTim-Philipp Müller2016-02-163-67/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=761606
* rtp: h265: remove codecparser dependency from h265 payloader/depayloaderTim-Philipp Müller2016-02-163-2/+78
| | | | | | | | | | | Looks like it just uses the NAL enums and nothing else from the codecparsers, and that's the only reason it had to be moved from -good to -bad when it was originally added. We can probably keep those NAL enums up to date enough, so let's remove the codecparser dependency so it can be moved back into -good. https://bugzilla.gnome.org/show_bug.cgi?id=761606
* Merge branch 'plugin-move-rtp-h265'Tim-Philipp Müller2016-02-164-0/+3285
|\ | | | | | | | | | | Move RTP H.265 payloader/depayloader from -bad to -good. https://bugzilla.gnome.org/show_bug.cgi?id=761606
| * gstrtph265depay: keep consistency with rtph264depayLuis de Bethencourt2016-02-162-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-161-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.
| * rtph265depay: fix unneeded sub-buffer creationLuis de Bethencourt2016-02-161-16/+8
| | | | | | | | | | We create a sub-buffer just to copy over its metas and then throw it away immediately, just use the original input buffer directly.
| * rtph265pay: add "send VPS/SPS/PPS with every key frame" modeLuis de Bethencourt2016-02-161-40/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not enough to have timeout or event based VPS/SPS/PPS information sent in RTP packets. There are some scenarios when key frames may appear more frequently than once a second, in which case the minimum timeout for "config-interval" of 1 second for sending VPS/SPS/PPS isn't enough. It might also be desirable in general to make sure the VPS/SPS/PPS is available with every keyframe (packet loss aside), so receivers can actually pick up decoding immediately from the first keyframe if VPS/SPS/PPS is not signaled out of band. This commit adds the possibility to send VPS/SPS/PPS with every key frame. This mode can be enabled by setting "config-interval" property to -1. In this case the payloader will add VPS, SPS and PPS before every key (IDR) frame. https://bugzilla.gnome.org/show_bug.cgi?id=757892
| * rtph265pay: change config-interval property type from uint to intLuis de Bethencourt2016-02-162-5/+5
| | | | | | | | | | | | This way we can use -1 as special value, which is nicer than MAXUINT. https://bugzilla.gnome.org/show_bug.cgi?id=757892
| * rtph265depay: make sure we call handle_nal for each NALLuis de Bethencourt2016-02-161-1/+5
| | | | | | | | | | | | | | Call handle_nal for each NAL in the STAP-A RTP packet. This makes sure we correctly extract the SPS and PPS. https://bugzilla.gnome.org/show_bug.cgi?id=730999
| * rtph265pay: Copy metadata in the payloader, but only the relevant onesLuis de Bethencourt2016-02-161-6/+8
| | | | | | | | | | | | | | | | The payloader didn't copy anything so far, the depayloader copied every possible meta. Let's make it consistent and just copy all metas without tags or with only the video tag. https://bugzilla.gnome.org/show_bug.cgi?id=751774
| * rtph265pay: Use GST_WARNING_OBJECT() instead of GST_WARNING()Luis de Bethencourt2016-02-161-2/+2
| | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=753228
| * rtph265pay: fix potential crash when shutting downLuis de Bethencourt2016-02-161-2/+7
| | | | | | | | | | | | | | | | | | | | A race condition in the state change function may cause buffers to be unreffed while they are still used by the streaming thread in gst_rtp_h265_pay_send_vps_sps_pps() resulting in a crash. Chain up to the parent class first in the state change function to make sure streaming has stopped and only then free those buffers. https://bugzilla.gnome.org/show_bug.cgi?id=741381
| * rtph265pay: fix buffer leak when using SPS/PPSLuis de Bethencourt2016-02-161-1/+3
| | | | | | | | | | | | | | Fixes a buffer leak that would occur if the pipeline was shutdown while a SPS/PPS header was being created. https://bugzilla.gnome.org/show_bug.cgi?id=741271
| * rtph265depay: copy metadata in the depayloader, but only the relevant onesLuis de Bethencourt2016-02-162-0/+89
| | | | | | | | | | | | | | | | The payloader didn't copy anything so far, the depayloader copied every possible meta. Let's make it consistent and just copy all metas without tags or with only the video tag. https://bugzilla.gnome.org/show_bug.cgi?id=751774
| * rtph265depay: checking if depay has sps/pps nals before insertionLuis de Bethencourt2016-02-161-1/+1
| | | | | | | | | | | | Related to: https://bugzilla.gnome.org/show_bug.cgi?id=753430 https://bugzilla.gnome.org/show_bug.cgi?id=753228
| * rtph265depay: only update the srcpad caps if something else than the ↵Luis de Bethencourt2016-02-161-2/+41
| | | | | | | | | | | | | | | | | | | | codec_data changed h264parse and gstrtph264depay do the same, let's keep the behaviour consistent. As we now include the codec_data inside the stream, this causes less caps renegotiation. https://bugzilla.gnome.org/show_bug.cgi?id=753228
| * rtph265depay: PPS replaces old PPS if it has the same idLuis de Bethencourt2016-02-161-1/+1
| | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=753228
| * rtph265depay: Insert SPS/PPS NALs into the streamLuis de Bethencourt2016-02-161-0/+50
| | | | | | | | | | | | | | | | | | rtph264depay does the same and this fixes decoding of some streams with 32 SPS (or 256 PPS). It is allowed to have SPS ID 0 to 31 (or PPS ID 0 to 255), but the field in the codec_data for the number of SPS or PPS is only 5 (or 8) bit. As such, 32 SPS (or 256 PPS) are interpreted as 0 everywhere. This looks like a mistake in the part of the spect about the codec_data.
| * rtph265depay: implement process_rtp_packet() vfuncLuis de Bethencourt2016-02-161-16/+8
| | | | | | | | | | | | | | | | | | | | For more optimised RTP packet handling: means we don't need to map the input buffer again but can just re-use the mapping the base class has already done. Based on: https://bugzilla.gnome.org/show_bug.cgi?id=750235 https://bugzilla.gnome.org/show_bug.cgi?id=753228
| * rtph265depay: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()Luis de Bethencourt2016-02-161-2/+2
| | | | | | | | Switching to GST_BUFFER_TIMESTAMP() to be consistent with other rtp code.
| * rtph265depay: prevent trying to get 0 bytes from adapterLuis de Bethencourt2016-02-161-4/+6
| | | | | | | | | | | | | | | | This causes an assertion and would lead to getting a NULL instead of a buffer. Without proper checking this would easily lead to a segfault. Related to rpth264depay: https://bugzilla.gnome.org/show_bug.cgi?id=737199
| * rtp: remove dead assignmentLuis de Bethencourt2016-02-161-2/+0
| | | | | | | | | | Value set to ret will be overwritten at least once at the end of the while loop, removing assignment.
| * remove unused enum items PROP_LASTLuis de Bethencourt2016-02-161-2/+1
| | | | | | | | | | This were probably added to the enums due to cargo cult programming and are unused.
| * rtp: donl_present variable unusedLuis de Bethencourt2016-02-161-1/+11
| | | | | | | | | | | | | | donl_present is not implemented, yet the value is set and checked a few times. Cleaning this. CID #1249687
| * rtp: value truncated too short creates dead codeLuis de Bethencourt2016-02-161-1/+1
| | | | | | | | | | | | | | | | type is truncated to 0-31 with "& 0x1f", but right after that it is checks if the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will never be True if the value is maximum 31 after the truncation. The intention of the code was to truncate to 0-63.
| * rtp: fix nal unit type checkLuis de Bethencourt2016-02-161-1/+2
| | | | | | | | | | | | After further investigation the previous commit is wrong. The code intended to check if the type is 39 or the ranges 41-44 and 48-55. Just like gsth265parse.c does. Type 40 would not be complete.
| * rtp: fix dead code and check for impossible valuesLuis de Bethencourt2016-02-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nal_type is the index for a GstH265NalUnitType enum. There are two types of dead code here: First, after checking if nal_type is >= 39 there are two OR conditionals that check if the value is in ranges higher than that number, so if nal_type >= 39 falls in the True branch those other conditions aren't checked and if it falls in the False branch and they are checked, they will always also be False. They are redundant. Second, the enum has a range of 0 to 40. So the checks for ranges higher than 41 should never be True. Removing this redundant checks. CID 1249684
| * rtp: add h265 RTP payloader + depayloaderThijs Vermeir2016-02-164-0/+3080
| |
| * building up speedThomas Vander Stichele2001-12-170-0/+0
| | | | | Original commit message from CVS: building up speed
* tests: rtpmux: Fix element memory leakVineeth TM2016-02-151-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=762057
* monoscope: rework the scaling codeStefan Sauer2016-02-121-9/+14
| | | | | | | | | The running average was wrong and the resulting scaling factor was only held in place using the CLAMP. In addtion we are now convering quickly to volume changes. FInally now with this change, we can change the resolution defines and everythign adjusts.
* monoscope: use constants in the drawing codeStefan Sauer2016-02-123-42/+44
| | | | | Make all the drawing ops be based on the constants. This way we can change the fixed size at least at compile time.
* monoscope: replace hardcoded values by constantsStefan Sauer2016-02-121-10/+13
| | | | This at least establishes the relationship.
* monoscpe: make the convolver use dynamic memoryStefan Sauer2016-02-124-53/+63
| | | | Replace all #defines with members and initialize the convolver with a parameter.
* monoscope: update READMEStefan Sauer2016-02-121-5/+1
| | | | We can already create multiple instances.
* monoscope: code cleanupStefan Sauer2016-02-122-53/+54
| | | | | Use constants more often. Cleanup comments and add more to explain how things work.
* deinterlace: remove check for impossible conditionLuis de Bethencourt2016-02-081-2/+0
| | | | | | | | | | Commit bd27a1f30b4458f2edee53c76dd07fb35904b61d added a few error handling memory management checks. These check srccaps to see if it needs to be unreferenced before returning, in the case of invalid_caps this goto jump always happens before srccaps is set, so it will always be NULL in this error label. CID #1352035
* po: update POTFILESPiotr Drąg2016-02-081-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=761705
* v4l2allocator: Fix spelling of reenqueueingLuis de Bethencourt2016-02-081-1/+1
| | | | | To match commit 7d7074cef0272cd5155098bfc2bda6849dd89267. I love the idea of aiming for the maximum number of consecutive vowels.
* v4l2allocator: Fix spelling of queueingNicolas Dufresne2016-02-081-1/+1
| | | | | | Didn't know which one to choose between queuing and queueing, so I picked the one with the biggest amount of vowels in a row ;-P (both are acceptable apparently)
* jpegdec: Don't pass the same data over and overNicolas Dufresne2016-02-081-12/+6
| | | | | | | | | We already pass the entire frame to the decoder. If the decoder ask for more data, don't pass the same data again as this leads to infinit loop. Instead, simply fail the fill function to signal the problem with that frame. It will then be skipped properly. https://bugzilla.gnome.org/show_bug.cgi?id=761670
* matroska: get rid of _stdint.h includeTim-Philipp Müller2016-02-081-15/+14
|
* tests: extend the AM_TESTS_ENVIRONMENT from check.makThiago Santos2016-02-051-1/+1
| | | | | | To get the CK_DEFAULT_TIMEOUT defined for all tests https://bugzilla.gnome.org/show_bug.cgi?id=761472
* Automatic update of common submoduleThiago Santos2016-02-052-0/+2
| | | | From 86e4663 to b64f03f
* rtpjpegpay: Skip APP and JPG markers and print warnings for unknown markersSebastian Dröge2016-01-311-2/+17
| | | | | | For APP/JPG markers the size is following and we have to skip that. This is not really a problem unless the marker contains e.g. a preview JPEG or something else that we might interprete as another marker.
* qtdemux: fix framerate calculation for fragmented formatSeungha Yang2016-01-291-6/+39
| | | | | | | | | | | | | qtdemux calculates framerate using duration and the number of sample. In case of fragmented mp4 format, however, the number of sample can be figure out after parsing every moof box. Because qtdemux does not parse every moof in QTDEMUX_STATE_HEADER state, it will cause incorrect framerate calculation. This patch will triger gst_qtdemux_configure_stream() for every new moof. Then, framerate will be calculated by using duration and n_samples of the moof. https://bugzilla.gnome.org/show_bug.cgi?id=760774
* qtdemux: handling zero segment-duration edit listSeungha Yang2016-01-291-4/+20
| | | | | | | | | | Based on document ISO_IEC_14496-12, edit list box can have segment duration as zero. It does not imply that media_start equals to media_stop. But, it just indicates a sample which should be presented at the first. This patch derives segment duration using media_time and duration of file. And set derived duration to segment-duration. https://bugzilla.gnome.org/show_bug.cgi?id=760781
* qtdemux: expose streams with first moof for fragmented formatSeungha Yang2016-01-292-16/+39
| | | | | | | | | In case of push mode, qtdemux expose streams after got moov box. We can not guarantee that a moov box has sample data such as sample duration and the number of sample in stbl box for fragmented format case. So, if a moov has no sample data, streams will not be exposed until get the first moof. https://bugzilla.gnome.org/show_bug.cgi?id=760779