- 24 Jun, 2017 3 commits
-
-
Mark Nauwelaerts authored
... avoiding inefficiency proportional to file size
-
Mark Nauwelaerts authored
-
Mark Nauwelaerts authored
... so skipping to next cluster happens efficiently
-
- 22 Jun, 2017 1 commit
-
-
Sebastian Dröge authored
-
- 16 Jun, 2017 1 commit
-
-
- 15 Jun, 2017 3 commits
-
-
Tim-Philipp Müller authored
Demuxer already supported it.
-
Sebastian Dröge authored
We currently send data to the RTSP connection from multiple threads: whenever a command is to be handled and whenever RTCP is generated. This can cause data corruption or worse if both happen at the same time. As such, protect gst_rtsp_connection_send() and gst_rtsp_connection_receive() calls with a mutex. While this means that we hold a mutex during the IO operation, this is not actually a problem as the IO operation can be interrupted (gst_rtsp_connection_flush()) at any time and is blocking by itself anyway.
-
Sebastian Dröge authored
The last entry will most likely get new samples added to it in "robust" muxing mode, changing the samples_per_chunk and thus making it wrong to keep the last two entries merged. It will run into an assertion later when adding a new sample to the chunk. Thanks to gdiener@cardinalpeak.com for the analysis of the bug and proposal for a solution.
-
- 13 Jun, 2017 2 commits
-
-
Sebastian Dröge authored
There might be other chunks after the data chunk, so clipping the chunk size with the data size can lead to a negative number and all following calculations go wrong and cause crashes or worse. This was introduced in 3ac119bb. https://bugzilla.gnome.org/show_bug.cgi?id=783760
-
Vivia Nikolaidou authored
They can cause us to deadlock, while we're waiting for a new frame and upstream is waiting for the allocation query to be answered before sending a frame https://bugzilla.gnome.org/show_bug.cgi?id=783753
-
- 07 Jun, 2017 1 commit
-
-
- 06 Jun, 2017 1 commit
-
-
Ohn Yongjin authored
remove not needed code about res variable. https://bugzilla.gnome.org/show_bug.cgi?id=783422
-
- 02 Jun, 2017 1 commit
-
-
Tim-Philipp Müller authored
-
- 01 Jun, 2017 1 commit
-
-
Tim-Philipp Müller authored
There is no difference between pushing out a buffer directly with gst_rtp_base_depayload_push() and returning it from the process function. The base class will just call _depayload_push() on the returned buffer as well. So instead of marshalling buffers through three layers and back, just push them from one place in handle_nal() and always return NULL from the process vfunc. This simplifies the code a little. Also rename _push_fragmentation_unit() to _finish_fragmentation_unit() for clarity. Push sounds like it means being pushed out, whereas it might just be pushed into an adapter. This change has the side-effect that multiple NALs in a single STAP (such as SPS/PPS) may no longer be pushed out as a single buffer if we output NALs in byte-stream format (i.e. not aggregate AUs), but that shouldn't really make any difference to anyone.
-
- 31 May, 2017 1 commit
-
-
Juan Navarro authored
This adds printing the actual value of any unknown RTCP PT to the already existing WARNING log message. https://bugzilla.gnome.org/show_bug.cgi?id=783248
-
- 24 May, 2017 4 commits
-
-
Tim-Philipp Müller authored
Use the ::process_rtp_packet() vfunc to avoid mapping the RTP buffer twice. gst_rtp_buffer_get_payload_buffer() returns a new sub-buffer which will always be writable, so no need to make it writable.
-
Tim-Philipp Müller authored
We had our own copies of those while the code was in -bad, but now we can use the existing utility functions instead of re-implementing them.
-
Tim-Philipp Müller authored
Every g_quark_from_static_string() is a hash table lookup serialised on the global quark lock in GLib. Let's just look up the two quarks we need once and cache them locally for future use. While we're at it, add new utility functions for the two most commonly used tags (audio + video). Make first argument a gpointer so we don't have to cast and make the code ugly. These are used for logging purposes only anyway.
-
vijay authored
While reusing aacparse caps were not set.This fix enables aacparse to reuse in same pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=783027
-
- 21 May, 2017 1 commit
-
-
Tim-Philipp Müller authored
-
- 20 May, 2017 1 commit
-
-
Luis de Bethencourt authored
Since the move from CVS the property name of the documentation example has been filename instead of location. Users trying the gst-launch command as is will get: no property name "filename" in element Fixing it.
-
- 18 May, 2017 2 commits
-
-
Edward Hervey authored
Instead of warning about them
-
Tim-Philipp Müller authored
-
- 16 May, 2017 3 commits
-
-
Nicolas Dufresne authored
Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
-
Vivia Nikolaidou authored
If a non-reference stream is behind the reference stream by an amount of time smaller than the alignment threshold (in nsec), it counts as being after it. https://bugzilla.gnome.org/show_bug.cgi?id=782563
-
Vivia Nikolaidou authored
Timecode trak is only supported for mov right now, not for mp4. That code would otherwise create an invalid trak if the muxed video contained timecode metadata. https://bugzilla.gnome.org/show_bug.cgi?id=782684
-
- 11 May, 2017 2 commits
-
-
Sebastian Dröge authored
We only accept new caps if they are basically the same. We don't want to reset anything as if the caps are new, otherwise various state could get out of sync with the current run.
-
Sebastian Dröge authored
Adding a 0-byte memory has not much effect. Also add some debug output.
-
- 10 May, 2017 4 commits
-
-
Sebastian Dröge authored
Print the right one in debug output to get meaningful numbers.
-
Sebastian Dröge authored
We don't have any space reserved for this in the moov and the pre-finalized moov would have broken A/V synchronization. Error out here now
-
Sebastian Dröge authored
We have some padding added after the initial moov, so a bigger updated moov can be handled to some degree and is expected. Previously we just ignored the padding and errored out in cases when the padding would've just been enough.
-
Sebastian Dröge authored
CID 1405994
-
- 09 May, 2017 3 commits
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
This sets up a moov with the correct sample positions beforehand and only works with constant framerate, I-frame only streams. Currently only support for ProRes and raw audio is implemented but adding new codecs is just a matter of defining appropriate maximum frame sizes. https://bugzilla.gnome.org/show_bug.cgi?id=781447
-
Sebastian Dröge authored
When muxing raw audio, we have no way of storing timestamps but are just storing a continuous stream of audio samples. If the difference between the expected and the real timestamp becomes to big, we should error out instead of silently creating files with wrong A/V sync. https://bugzilla.gnome.org/show_bug.cgi?id=780679
-
- 06 May, 2017 1 commit
-
-
Tim-Philipp Müller authored
Re-arrange order of index entry struct members to avoid padding bytes in the middle of the struct, thus potentially reducing the overall size of the struct and reducing memory used by the index. On Linux x86_64 the size goes down from 32 bytes to 24 bytes for each index entry.
-
- 02 May, 2017 1 commit
-
-
Seungha Yang authored
Since mss has no moov, default stsd entry should be created with media-caps. https://bugzilla.gnome.org/show_bug.cgi?id=782042
-
- 27 Apr, 2017 1 commit
-
-
Sebastian Dröge authored
That case is correctly handled below but not in the debug output. https://bugzilla.gnome.org/show_bug.cgi?id=781270
-
- 25 Apr, 2017 1 commit
-
-
Sebastian Dröge authored
If gst_segment_do_seek() fails, we shouldn't try seeking on that resulting segment but just error out. Crashes further down the line otherwise.
-
- 24 Apr, 2017 1 commit
-
-
Tim-Philipp Müller authored
SPS/PPS are in the caps in this case and shouldn't be in the stream data.
-