- Jan 12, 2017
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Andre McCurdy authored
The seqh buffer allocated in qtdemux_parse_svq3_stsd_data() needs to be freed by the caller after use. https://bugzilla.gnome.org/show_bug.cgi?id=777157 Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
- Jan 10, 2017
-
-
Edward Hervey authored
Only output WARNING messages for atoms we don't know how to handle instead of for padding/known atoms we don't need to do any processing on https://bugzilla.gnome.org/show_bug.cgi?id=777095
-
- Jan 09, 2017
-
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
rtpjitterbuffer.c:592:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
-
Matthew Waters authored
Otherwise some messages that are emitted by the element on NULL->READY will not reach the application. https://bugzilla.gnome.org/show_bug.cgi?id=764947
-
- Jan 07, 2017
-
-
Jan Schmidt authored
The DASH spec requires that tfdt atoms be present, so write one out. ISO/IEC 23009-1:2014 6.3.4.2 https://bugzilla.gnome.org/show_bug.cgi?id=708221
-
Jan Schmidt authored
If a fragmented stream doesn't have a tfdt, don't reset the output timestamps at each fragment boundary by erroneously using the default value of 0. Introduced by commit 69fc48 https://bugzilla.gnome.org/show_bug.cgi?id=754230
-
- Jan 05, 2017
-
-
Thibault Saunier authored
-
- Jan 03, 2017
-
-
- Jan 02, 2017
-
-
Vivia Nikolaidou authored
Splitmuxsink might be called with a custom bin as a sink. If it has a "location" property, it can be used.
-
Jan Schmidt authored
Majorly change the way that splitmuxsink collects incoming data and sends it to the output, so that it makes all decisions about when / where to split files on the input side. Use separate queues for each stream, so they can be grown individually and kept as small as possible. This removes raciness I observed where sometimes some data would end up put in a different output file over multiple runs with the same input. Also fixes hangs with input queues getting full and causing muxing to stall out.
-
Jan Schmidt authored
Add a new signal for formatting the filename, which receives a GstSample containing the first buffer from the reference stream that will be muxed into that file. Useful for creating filenames that are based on the running time or other attributes of the buffer. To make it work, opening of files and setting filenames is now deferred until there is some data to write to it, which also requires some changes to how async state changes and gap events are handled.
-
Jan Schmidt authored
When performing a key-unit seek, always snap to the start ts of the keyframe buffer we landed on so that the keyframe is entirely within the resulting outgoing segment. That seems the most sensible result, since the user requested snapping to the keyframe position.
-
Jan Schmidt authored
Segments times and seek requests are stored and handled in raw 'PTS' time, without the cslg_shift - which only applies to outgoing samples. Omit the cslg_shift portion when extracting PTS to compare for internal seek snaps. If the cslg_shift is included, then keyframe+snap-before seeks generate a segment start/stop time that already includes the cslg_shift, and it's then added a 2nd time, causing the first buffer(s) to have timestamps that are out of segment.
-
Jan Schmidt authored
Remove an old check from atom_stsc_add_new_entry() that extends the last entry in the STSC if the samples per chunk matches, as the new interleave merging logic requires that the final entry by updateable. There's already code below which simply merges the final entry into the previous one when needed, so rely on that instead. Fixes asserts like: ERROR:atoms.c:2940:atom_stsc_update_entry: assertion failed: (atom_array_index (&stsc->entries, len - 1).first_chunk == first_chunk)
-
Seungha Yang authored
time in segment should be PTS based (not DTS). https://bugzilla.gnome.org/show_bug.cgi?id=765498
-
Jan Schmidt authored
Pass all seek flags when activating a part based on a seek, so that SNAP flags are preserved.
-
Jan Schmidt authored
Make sure the state of the parser is set to collecting streams before chaining up to the parent change_state() method, to close a small window that can cause playback to never commence.
-
Edward Hervey authored
-
- Dec 31, 2016
-
-
Tim-Philipp Müller authored
Use GQueue instead of a GSList so we don't have to traverse the whole list to append something every time. And it also keeps track of the number of items in it for us. Add a function to add filenames to the list of old files and use it in more places, so that memory doesn't build up in other modes either if no max_files limit is specified. https://bugzilla.gnome.org/show_bug.cgi?id=766991
-
Ursula Maplehurst authored
Technically we weren't leaking the memory, just storing it internally and never using it until the element is freed. But we'd still use more and more memory over time, so this is not good over longer periods of time. Only keep track of files if there's actually a limit set, so that we will prune the list from time to time. https://bugzilla.gnome.org/show_bug.cgi?id=766991
-
- Dec 29, 2016
-
-
Mark Nauwelaerts authored
-
Mark Nauwelaerts authored
-
Mark Nauwelaerts authored
Previously, seeking to position y where y is (strictly) within a keyframe would seek to that keyframe both with SNAP_BEFORE and SNAP_AFTER, where the latter is now adjusted to really snap to the next keyframe.
-
- Dec 28, 2016
-
-
Mark Nauwelaerts authored
Rather amazingly (and equally unnoticed), keyunit seeking resulted in segments where start != time (which is bogus for simple avi timeline). So, properly adjust the segment (start) rather than fiddling with segment time (only).
-
Mark Nauwelaerts authored
... by using the original seek event's flags rather than the corresponding segment flags, which do not have such counterpart flags (and do no longer have them covertly sneaking in nowadays).
-
- Dec 21, 2016
-
-
Nicola Murino authored
With Xiph codecs the stream header buffers are both in the caps and are usually also at the beginning of each input stream, but it's perfectly possible that the input stream does not have the stream header buffers inline in the data. Matroskamux would drop the first N buffers assuming they're stream headers, but this meant it would drop actual payload data when the stream didn't contain the stream headers inline. Fix this by only dropping leading buffers if they're flagged as stream headers. This fixes issues with streams that are being tapped into after streaming has started. https://bugzilla.gnome.org/show_bug.cgi?id=749098
-
Nicola Murino authored
Now matroskamux mark all packets of audio-only streams as keyframes so in test_block_group after pushing the test audio data 4 buffers are produced and not more 2. The last buffer is the original data and must match with what pushed. The remaining ones are matroskamux headers https://bugzilla.gnome.org/show_bug.cgi?id=754696
-
- Dec 20, 2016
-
-
Nicola Murino authored
This helps with streaming audio-only streams via multifdsink, tcpserversink and such. https://bugzilla.gnome.org/show_bug.cgi?id=754696
-
-
- Dec 19, 2016
-
-
- Dec 18, 2016
-
-
Tim-Philipp Müller authored
-
- Dec 14, 2016
-
-
Reynaldo H. Verdejo Pinochet authored
Avoids confusing the parser
-
Reynaldo H. Verdejo Pinochet authored
-
Sebastian Dröge authored
Also consume the data entry by entry to get complicated indexing out of the code. https://bugzilla.gnome.org/show_bug.cgi?id=776107
-
Víctor Manuel Jáquez Leal authored
After commit 1ea9735a I see these error while using the webcam integrated in my laptop: GStreamer-CRITICAL **: gst_value_list_get_size: assertion 'GST_VALUE_HOLDS_LIST (value)' failed The issue is gst_v4l2src_value_simplify() was doing its job of generating a single value, rather than the original list. That why, when getting the list size, a critical warning was raised. This patch takes advantage of the compiler optimizations to verify first if the list was simplified, thus use it directly, otherwise, if it is a list, verify its size. https://bugzilla.gnome.org/show_bug.cgi?id=776106
-
Havard Graff authored
* Changed PCMU->TEST for common macros * Changed verify-functions (lost & rtx) into macros. * Remove option to add marker-bit for test-buffers (not used anywhere) * Add new push_test_buffer function that makes sure there are correlation between dts and the time on the clock. (classic test-mistake) * Established a generic starting-point for tests with the construct_deterministic_initial_state function and use it where applicable, which removes lots of "boilerplate" everywhere. * Add basic lost-event test * Remove as much "magic constants" as possible. * Remove 3 tests that no longer are testing anything that others don't, and was completely unmaintainable. * Remove unnecessary use of the testclock * Verify each test is testing what it actually says it does (and modify where it doesn't) In general, make the tests much smaller, better, more maintainable and readable. https://bugzilla.gnome.org/show_bug.cgi?id=774409
-