| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
This prevents playbin2 from passing a raw h264 ES stream straight
through to a decodersink without h264parse even if the sink wants
parsed=true (because we use caps intersection instead of a strict
caps subset check to determine compatibility).
|
|
|
|
|
|
|
|
|
| |
...include/gstreamer-0.10/gst/video/video.h:357:17: error:
invalid suffix on literal; C++11 requires a space between literal and
identifier [-Wreserved-user-defined-literal]
"width = "GST_VIDEO_SIZE_RANGE" , " \
https://bugzilla.gnome.org/show_bug.cgi?id=699009
|
| |
|
| |
|
|
|
|
| |
From 9bca01f to 2585de9
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
|
|
|
|
|
| |
Decoders that get unparsed input are internally leaking nearly
every incoming buffer. This checks that case.
|
|
|
|
|
|
|
|
|
| |
Hold both the stream and the object lock to modify the output_state,
this way it can be safely modified while hold either one or the other.
Also, only hold the object lock in the query
https://bugzilla.gnome.org/show_bug.cgi?id=684832
|
|
|
|
| |
Add missing break in FLUSH_STOP case.
|
|
|
|
|
|
|
| |
And also renegotiate if the srcpad requires reconfiguration
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
|
|
|
|
|
|
|
|
|
|
| |
This is to be called by decoders once they have set the output format
in order for (re)negotiation to be triggered as early as possible.
https://bugzilla.gnome.org/show_bug.cgi?id=679878
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
|
|
|
|
|
| |
Conflicts:
configure.ac
|
|
|
|
|
|
|
|
|
|
| |
The endianness field is not present in 8-bit audio caps, so don't
fail because of that when parsing caps into an GstAudioInfo structure.
And if it is present, it should be ignored, because the format
table we match against has a 0 value for endianness, so we need
to look for 0 as well.
https://bugzilla.gnome.org/show_bug.cgi?id=693166
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This ensures the ghost pad will not stay in flushing mode
when it receives a flush stop event, and generally behave
badly.
This fixes at least one case of a dynamic decodebin2 + encodebin
pipeline finding a source that has not prerolled when it should
have been (due to the ghostpad staying in flushing mode).
|
|
|
|
| |
Other elements were synced, but not the muxer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The root cause is that alsa-lib is not thread safe for the same handle.
There are two threads in the gstreamer accessing alsa-lib not serilized.
The race condition happens when one thread holds the old framebuffer app_ptr
position in the kernel, another thread advances the framebuffer app_ptr.
when the former thread is scheduled to run again, it overwrites the app_ptr
to old value by copying from kernel.Thus,the app_ptr in the upper
alsa-lib(pcm_rate) become one period size more advanced than the lower
alsa-lib(pcm_hw & kernel).
gstreamer uses noblock and poll method to communicate with the alsa-lib.
The app_ptr unsync situation as described above makes the poll return immediately because
it concludes there is enough space for the ring-buffer via the low-level alsa-lib.
The write function returns immediately because it concludes there is not enough
space for the ring-buffer from the upper-level alsa-lib. Then the loop of poll
and write runs again and again until another period size is available for
ring-buffer.This leads to the cpu 100 problem.
delay_lock is used to avoid the race condition.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=690937
Conflicts:
ext/alsa/gstalsasink.c
ext/alsa/gstalsasink.h
|
|
|
|
| |
From 3baf58a to 9bca01f
|
|
|
|
|
|
|
|
|
|
| |
Add a limit to the amount of queued bytes or messages we allow on the watch.
API: GstRTSPConnection::gst_rtsp_watch_set_send_backlog()
API: GstRTSPConnection::gst_rtsp_watch_get_send_backlog()
Conflicts:
gst-libs/gst/rtsp/gstrtspconnection.c
|
|
|
|
|
|
|
|
|
|
| |
Otherwise we just pass through the timestamps directly and don't
need to waste additional memory for them.
Fixes bug #689814.
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
|
| |
|
|
|
|
|
|
| |
And only return the proportion. The earliest time already can be
retrieved from get_max_decode_time() and by renaming we allow this
to be more extensible in the future.
|
|
|
|
|
|
|
|
|
| |
Add a getter for the QoS proportion and earliest_time to help
subclasses do better estimations based on the proportion.
API: gst_video_decoder_get_qos_info()
https://bugzilla.gnome.org/show_bug.cgi?id=687991
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=679456
|
|
|
|
|
|
|
|
|
|
|
| |
When the ringbuffer gets restarted (like in setcaps), we *will* have
to resync against the new values.
Without this we end up blindly assuming the new samples align to the
old ones.
Conflicts:
gst-libs/gst/audio/gstbaseaudiosink.c
|
| |
|
| |
|
| |
|
|
|
|
| |
Add isml typefinding to the video/quicktime function
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=687350
|
| |
|
|
|
|
|
| |
Reset the caps and the audioinfo when releasing the ringbuffer.
Fixed a bug with reusing pulsesink.
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=681192
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=681192
|
| |
|
|
|
|
|
|
|
| |
at the same time
Should fix "cannot register existing type `GstPlaybinSelectorPad'" warnings
and subsequent errors when creating multiple players at the same time.
|
| |
|
|
|
|
|
|
| |
... rather than to output segment, which will only be set
to current input segment if some output is produced
(coming from non-clipped input).
|
| |
|
|
|
|
|
|
|
|
| |
Don't try to take STREAM_LOCK on upstream events such as QOS.
Protect qos-related variables with object lock instead. Fixes
possible deadlock when shutting down in certain situations.
https://bugzilla.gnome.org/show_bug.cgi?id=684658
|
|
|
|
| |
Fixes segfault as queries/events can happen after a reset
|
|
|
|
|
|
| |
Also add a bit more debug.
See also https://bugzilla.gnome.org/show_bug.cgi?id=679443
|