- 24 Jan, 2019 2 commits
-
-
Sebastian Dröge authored
This was added in 7fdb15d6 but it is wrong. (scope call) is for closures that only have to stay valid for the scope of the call, but the tag merge function has to stay valid for the whole lifetime of the application instead. There's no appropriate scope annotation for that so we have to skip these functions for now.
-
Seungha Yang authored
Should be equality check, not assignment. Additionally, use fail_unless_equals_* macro for better readability and debugging easier, if possible.
-
- 23 Jan, 2019 1 commit
-
-
Mathieu Duponchelle authored
the output of flex --version can contain more than one space
-
- 22 Jan, 2019 1 commit
-
-
Seungha Yang authored
It's updated to 2.40.0 since the commit 3e8ef4cf
-
- 17 Jan, 2019 5 commits
-
-
Seungha Yang authored
Setup it only if we have something to print out about inspected results. Otherwise, gst_tools_print_version() output will be redirected to pager and also exit immediately without waiting child process.
-
Seungha Yang authored
Although we support pager just for *nix until now, this can make more portable to Windows. Fixes #342
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
-
- 16 Jan, 2019 1 commit
-
-
Nirbheek Chauhan authored
Either disable it when it's not supported, or setup the console to interpret them correctly when it's supported. Closes gstreamer/gstreamer#351
-
- 15 Jan, 2019 1 commit
-
-
Sebastian Dröge authored
It's a gulong so we have to cast it to a guint64 when using it with G_GUINT64_FORMAT. Spotted by Vincent Penvern.
-
- 14 Jan, 2019 1 commit
-
-
Daniel Drake authored
GstDeviceProvider has a started_count private variable counter, and the gst_device_provider_start() documentation emphasizes the importance of balancing the start and stop calls. However, when starting a provider that is already started, the current code will never increment the counter more than once. So you start it twice, but it will have start_count 1, which is the maximum value it will ever see. Then when you stop it twice, on the 2nd stop, after decrementing the counter in gst_device_provider_stop(): else if (provider->priv->started_count < 1) { g_critical ("Trying to stop a GstDeviceProvider %s which is already stopped", GST_OBJECT_NAME (provider)); and the program is killed. Fix this by incrementing the counter when starting a device provider that was already started.
-
- 11 Jan, 2019 1 commit
-
-
Jordan Petridіs authored
While extremelly rare, time and gst_date_time_new_* will have diff values and potentially trigger an assertion. Thus move the calls as closely together as possible to mitigate this.
-
- 10 Jan, 2019 1 commit
-
-
Sebastian Dröge authored
This reverts commit 7f70d7a9
-
- 09 Jan, 2019 4 commits
-
-
Jan Alexander Steffens authored
-
Jan Alexander Steffens authored
The step restriction was completely ignored until now.
-
Jan Alexander Steffens authored
Just a bit of refactoring.
-
Sebastian Dröge authored
This is racy if the state lock of the parent bin is not taken. The parent bin might've just checked the flag in another thread and as the next step proceed to change the child element's state.
-
- 07 Jan, 2019 1 commit
-
-
Sebastian Dröge authored
We need to take the state lock here to ensure that we're not currently just before setting the state of this child element. Otherwise it can happen that we removed the element here and e.g. set it to NULL state, and shortly afterwards have another thread set it to a higher state again as part of a state change for the whole bin. When adding an element to the bin this is not needed as we require callers to always ensure after adding to the bin that the new element is set to the correct state.
-
- 05 Jan, 2019 1 commit
-
-
Tim-Philipp Müller authored
-
- 03 Jan, 2019 2 commits
-
-
Sebastian Dröge authored
We have to ensure that all background threads from thread pools are shut down, or otherwise they might not have had a chance yet to drop their last reference to the pipeline and then the assertion for a reference count of 1 on the pipeline fails.
-
Sebastian Dröge authored
And check for exact times as we can now do that thanks to the test clock being deterministic. Fixes gstreamer/gstreamer#313
-
- 31 Dec, 2018 3 commits
-
-
Michael Olbrich authored
This adds two custom gdb commands: 'gst-dot' creates dot files that a very close to what GST_DEBUG_BIN_TO_DOT_FILE() produces. Object properties and buffer content (e.g. codec-data in caps) are not available. 'gst-print' produces high-level information about GStreamer objects. This is currently limited to pads for GstElements and events for the pads. The output can look like this: (gdb) gst-print pad.object.parent GstMatroskaDemux (matroskademux0) { SinkPad (sink, pull) { } SrcPad (video_0, push) { events: stream-start: stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/001:1274058367 caps: video/x-theora width: 1920 height: 800 pixel-aspect-ratio: 1/1 framerate: 24/1 streamheader: < 0x5555557c7d30 [GstBuffer], 0x5555557c7e40 [GstBuffer], 0x7fffe00141d0 [GstBuffer] > segment: time rate: 1 tag: global container-format: Matroska } SrcPad (audio_0, push) { events: stream-start: stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/002:1551204875 caps: audio/mpeg mpegversion: 4 framed: true stream-format: raw codec_data: 0x7fffe0014500 [GstBuffer] level: 2 base-profile: lc profile: lc channels: 2 rate: 44100 segment: time rate: 1 tag: global container-format: Matroska tag: stream audio-codec: MPEG-4 AAC audio language-code: en } }
-
Michael Olbrich authored
-
Tim-Philipp Müller authored
Looks like an earlier version of the .c file.
-
- 19 Dec, 2018 3 commits
-
-
Nicolas Dufresne authored
This follows what git and systemd tools would do.
-
Nicolas Dufresne authored
Fixes #341
-
Tim-Philipp Müller authored
Fixes flaky appsrc unit test where depending on scheduling the submitted list might not be writable if submitted via an action signal from the application thread. Fixes gst-plugins-base#522
-
- 18 Dec, 2018 1 commit
-
-
Jonny Lamb authored
I copied `error-after` to make the `eos-after` property, but it turned out there were some problems with that one, so this patch: adds separate counters (so setting to NULL and reusing the element will still work); clarifies the properties' min values; and reports an error when both are set.
-
- 17 Dec, 2018 3 commits
-
-
Michael Grüner authored
-
Seungha Yang authored
The documentation for WIN32 mktime indicates that for struct tm* before January 1, 1970, that -1 is returned, and since mktime is timezone dependent, the struct tm corresponding to 1:00, Jan. 1, 1970 might be failed. See also https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/mktime-mktime32-mktime64
-
Edward Hervey authored
-
- 15 Dec, 2018 4 commits
-
-
Edward Hervey authored
There was a dead assignment used outside of the bin/pipeline creation which was confusing (and unused). Just move that variable to where it is actually used. (Note that that variable was not needed outside of that block since the refactoring done in 2b33d331 )
-
Edward Hervey authored
Those values are always set after before usage
-
Edward Hervey authored
That assertion was accidentally removed in the refactoring done in 60de1f26
-
Edward Hervey authored
readable is set just after before usage since 906bbd38
-
- 14 Dec, 2018 2 commits
-
-
Sebastian Dröge authored
Otherwise it can easily happen that the pad is destroyed before the thread disappears, as happened sometimes in the test_pad_probe_block_add_remove test where joining of the thread was done *after* the pad was unreffed and destroyed. Fixes #339
-
Sebastian Dröge authored
-
- 11 Dec, 2018 2 commits
-
-
Jonny Lamb authored
Using `num-buffers` can be unpredictable as buffer sizes are often arbitrary (filesrc, multifilesrc, etc.). The `error-after` property on `identity` is better but obviously reports an error afterwards. This adds `eos-after` which does exactly the same thing but reports EOS instead.
-
Guillaume Desmottes authored
Convenient helper setting a caps feature on all the structures of a caps.
-