| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Otherwise we might end up in an infinite loop because of errors.
Also take the element's mutex in unprepare().
https://bugzilla.gnome.org/show_bug.cgi?id=738292
|
|
|
|
|
|
|
| |
It will fail and cause the sink to crash. Instead wait until the window is
visible again before checking if the swapchain really has to be recreated.
https://bugzilla.gnome.org/show_bug.cgi?id=741608
|
|
|
|
|
|
|
|
| |
Otherwise, gst_vtenc_negotiate_profile_and_level will double-release as
it checks for profile_level != NULL. This caused crashes when the
vtenc instance is stopped and then restarted.
https://bugzilla.gnome.org/show_bug.cgi?id=757935
|
|
|
|
|
|
|
|
| |
This reverts commit 6101fc57b8afac4f4e4aa742892f0d9c99d38a8c.
GstVideoEncoder assumes that the input buffer is available until _finish_frame.
https://bugzilla.gnome.org/show_bug.cgi?id=756951
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=756578
|
|
|
|
|
|
| |
COLOR_QCOM_FormatYVU420SemiPlanar32mMultiView for decoding
https://bugzilla.gnome.org/show_bug.cgi?id=756578
|
|
|
|
|
|
|
| |
SetWindowLong works only for 32 bit systems, thus windows events (move/resize)
where not interpreted on 64 bit systems
https://bugzilla.gnome.org/show_bug.cgi?id=756617
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755852
|
|
|
|
|
|
|
| |
Otherwise we're going to return times starting at 0 again after shutting down
an element for a specific input/output and then using it again later.
https://bugzilla.gnome.org/show_bug.cgi?id=755426
|
|
|
|
|
|
| |
again from there
https://bugzilla.gnome.org/show_bug.cgi?id=755426
|
|
|
|
|
|
|
| |
This a workaround until the incompatibility with CVOpenGLTextureCache
and opengl3 contexts is fixed.
https://bugzilla.gnome.org/show_bug.cgi?id=754786
|
| |
|
|
|
|
|
|
|
|
| |
GstVideoDecoder has its own logic for detecting when to reconfigure
which ultimately calls decide_allocation and results in a new
texture cache that has not been configured from our reconfigure check.
https://bugzilla.gnome.org/show_bug.cgi?id=755156
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755142
|
|
|
|
|
|
|
|
| |
Fixes playback to GL memory on iOS, where the colours are messed
up by passing Luminance/LuminanceAlpha textures where
color convert expects R/RG textures.
https://bugzilla.gnome.org/show_bug.cgi?id=754504
|
|
|
|
|
| |
Prefer GL caps by putting them first in the pad template and
intersecting using GST_CAPS_INTERSECT_FIRST.
|
|
|
|
|
|
| |
Use the correct type, GstClockTimeDiff, instead.
CID 1323742
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
around 0 properly
We were converting all times to our internal running times, that is the time
the sink itself spent in PLAYING already. But forgot to do that for the
running time calculated from the buffer timestamps. As such, all buffers were
scheduled much later if the pipeline's running time did not start at 0.
This happens for example if a base time is explicitly set on the pipeline.
https://bugzilla.gnome.org/show_bug.cgi?id=754528
|
|
|
|
|
|
|
|
| |
when scheduling frames
Without this, we will schedule all frames too late in live pipelines.
https://bugzilla.gnome.org/show_bug.cgi?id=754666
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Casting to UINT from HMIXER generates the following warning with
64bit Windows target MinGW:
gstdirectsoundsrc.c: In function 'gst_directsound_src_mixer_find':
gstdirectsoundsrc.c:733:30: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
mmres = mixerGetDevCaps ((UINT) dsoundsrc->mixer,
^
cc1: all warnings being treated as errors
We can use portable GPOINTER_TO_UINT() macro for this propose.
https://bugzilla.gnome.org/show_bug.cgi?id=754756
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of checking for the gstreamer-video-1.0 package is installed,
just assume it is since we already check for the -base dependency.
With this replace the GST_VIDEO_* variables in makefiles and directly
link with libgstvideo.
https://bugzilla.gnome.org/show_bug.cgi?id=753820
|
|
|
|
|
|
|
|
| |
instead of doing magic
Also implement framerate handling correctly by borrowing the code from
ximagesrc. GstBaseSrc::get_times() can't be used for that, we have to
implement proper waiting ourselves.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The block that is dispatched async to the main thread assumed the
wrapping GstAvSampleVideoSink to be alive. However, at the time of
the block execution the GstObject instance that is deferenced to access
the CA layer might already be freed, which caused occasional crashes.
Instead, we now only pass the CoreAnimation layer that needs to be
released to the block. We use __block to make sure the block is not
increasing the refcount of the CA layer again on its own.
https://bugzilla.gnome.org/show_bug.cgi?id=753081
|
|
|
|
| |
Most encoders fail to initialize if we don't set it at all.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMBlockBuffer offers a model similar to GstBuffer, as it can
consist of multiple non-consecutive memory blocks.
Prior to this change, what we were doing was:
1) Incorrect:
CMBlockBufferCreateWithMemoryBlock does not copy the data,
but we gst_buffer_unmap'd right away.
2) Inefficient:
If the GstBuffer consisted of non-contiguous memory blocks,
gst_buffer_map resulted in malloc / memcpy.
With this change, we construct a CMBlockBuffer out of individual mapped
GstMemory objects. CMBlockBuffer is made to retain the GstMemory
objects (through the use of CMBlockBufferCustomBlockSource), so the
original GstBuffer can be unref'd.
https://bugzilla.gnome.org/show_bug.cgi?id=751241
|
|
|
|
|
|
| |
We can just not use the error/status properties
https://bugzilla.gnome.org/show_bug.cgi?id=746631
|
| |
|
|
|
|
| |
Fixes make distcheck and tarball generation
|
|
|
|
|
|
|
|
| |
All goto fail happen before ret is set. ret must be NULL, and the only
thing the fail statement block does is return NULL. Replacing the jumps to
do this return directly.
CID #1311329
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=751641
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=751821
|
|
|
|
|
|
| |
the app
https://bugzilla.gnome.org/show_bug.cgi?id=751664
|
| |
|
|
|
|
|
|
|
| |
Instead of wrapping with GST_MEMORY_FLAG_NO_SHARE, we make the GstMemory
object retain the underlying CMBlockBuffer.
https://bugzilla.gnome.org/show_bug.cgi?id=751072
|
|
|
|
|
|
|
|
| |
CMBlockBufferGetDataLength would return the entire data length, while
size of individual blocks can be smaller. Iterate over the block buffer
and add the individual (possibly non-contiguous) memory blocks.
https://bugzilla.gnome.org/show_bug.cgi?id=751071
|
|
|
|
|
|
|
|
| |
When AVFoundation indicates a supported frame rate range, add it to
the caps. This is important for devices such as the iPhone 6, which
indicate a single AVFrameRateRange of 2fps - 60fps.
https://bugzilla.gnome.org/show_bug.cgi?id=751048
|
|
|
|
| |
gst_query_set_caps_result() does not take ownership of the caps.
|
|
|
|
|
|
|
|
| |
There is a missing break statement in switch,
which will result in executing default case as well
resulting in wrong behavior
https://bugzilla.gnome.org/show_bug.cgi?id=751305
|
|
|
|
|
|
|
|
|
|
|
| |
In JNI_OnLoad() we will already get the Java VM passed and could
just directly use that. gstreamer_android-1.0.c will now provide
this to us.
Reason for this is that apparently not all Android system are
providing the JNI functions to get the currently running Java VMs, so
we would fail to get. With this we will always be able to get the Java
VM on such systems.
|
|
|
|
|
| |
Hardware codecs don't make sense for audio and are generally less reliable on
Android than the software codecs.
|
|
|
|
|
| |
Someone else might have detached it before us, so make this just normal debug
output instead of a GST_ERROR()
|
|
|
|
|
|
|
|
|
| |
We only need that if no Java VM is running yet, and all usual cases,
i.e. when calling GStreamer from an actual Android app, there will already
be a Java VM we can just use.
It seems like some phones come without that symbol, let's hope they come
with the other symbol but for now don't make a missing JNI_CreateJavaVM fatal.
|
| |
|
| |
|
|
|
|
|
|
| |
Headers were broken on older Android versions, apparently.
https://bugzilla.gnome.org/show_bug.cgi?id=744459
|
| |
|