[GST] Removed runtime link error
First time any GST command is invoked from a fresh card/filesystem
GST will parse all the plugins and gathers information.
At this time, pase_sami was not being resolved. The result of this
is the failure of the first gst-launch command.
This is because the function 'parse_sami' defined in subparse.c
was not being compiled in. This patch includes the file for compilation
to evade the above mentioned error.
The inclusion should not have any effect on the existing components.
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
First time any GST command is invoked from a fresh card/filesystem
GST will parse all the plugins and gathers information.
At this time, pase_sami was not being resolved. The result of this
is the failure of the first gst-launch command.
This is because the function 'parse_sami' defined in subparse.c
was not being compiled in. This patch includes the file for compilation
to evade the above mentioned error.
The inclusion should not have any effect on the existing components.
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
DEBIAN: removed extra newlines in control file
This fixes the debian control file parse error
If there are new extra lines, mk-build-deps throws error
about parsing the control file
This fixes the debian control file parse error
If there are new extra lines, mk-build-deps throws error
about parsing the control file
DEBIAN: debianization
gnome vfs dav url
Disable unit tests, to avoid issue when building with qemu
playsink: remove obsolete stridetransform
This should not be needed anymore now that -strided caps are obsolete.
This also fixes an issue where at least some of the ARM versions of
copying routines are not copying all the necessary bytes when the
number of bytes to copy is not a multiple of 8, leaving a band of
corrupted data on the right of some frames.
This should not be needed anymore now that -strided caps are obsolete.
This also fixes an issue where at least some of the ARM versions of
copying routines are not copying all the necessary bytes when the
number of bytes to copy is not a multiple of 8, leaving a band of
corrupted data on the right of some frames.
xvimagesink: fix display of cropped buffers from ducati
I suspect this is needed to work around some bug in the lower
layers (X or drivers), but do not know X enough to tell.
I suspect this is needed to work around some bug in the lower
layers (X or drivers), but do not know X enough to tell.
decodebin2: Increase the default queue even more than more
for some sad wmv sample that wedges on seeking otherwise.
for some sad wmv sample that wedges on seeking otherwise.
streamsynchronizer: Don't wait on non-time streams
streams with non-TIME segments will not have timestamps ...
... and therefore will never unblock the other streams.
Fixes blocking issue when using playbin suburi feature
streams with non-TIME segments will not have timestamps ...
... and therefore will never unblock the other streams.
Fixes blocking issue when using playbin suburi feature
streamsynchronizer: Unblock streams on FLUSH_START events
streamsynchronizer: do not leak EOS events
xvimagesink: don't use deprecated XKeycodeToKeysym
https://bugzilla.gnome.org/show_bug.cgi?id=671299
Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
https://bugzilla.gnome.org/show_bug.cgi?id=671299
Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
playsink: Add a colorspace converter
In case the user sets a sink that doesn't handle NV12, it is needed.
In case the user sets a sink that doesn't handle NV12, it is needed.
xvimagesink: Handle the cropping event and attached on buffer struct
textoverlay: heed crop event values when placing subtitles
Since we can receive data at a larger resolution that what
will be visible, we need to use the cropped values to decide
where to draw subtitles.
Since we can receive data at a larger resolution that what
will be visible, we need to use the cropped values to decide
where to draw subtitles.
stridetransform: fix makefile for non ARM targets
typefind: give less weight to H.263 streams when few blocks are found
This avoids mistaking at least one H.264 stream for H.263.
This avoids mistaking at least one H.264 stream for H.263.
stridetransform: log relevant values when size check fails
stridetransform: move semantic code out of assert-like call
stridetransform: fix wrong stride with non multiple of 4 widths
Also do not execute code with side effects in asserts-like code.
Also do not execute code with side effects in asserts-like code.
stridetransform: fix caps leaks
ffmpegcolorspace: ensure we don't lose any crop setting
video: add qdata based crop interface
Add a qdata based crop interface that can be used to attach and
retrieve cropping info from buffers
Add a qdata based crop interface that can be used to attach and
retrieve cropping info from buffers
New dmabuf helper library
Add gst-libs/gst/dmabuf which contains helpers to attach and retrieve dmabuf
handles to/from buffers.
Add gst-libs/gst/dmabuf which contains helpers to attach and retrieve dmabuf
handles to/from buffers.
ximagesink: Handle crop event
stridetransform: reset crop sizes on caps changes
decodebin2: Increase the default queue even more
Increase even more the multiqueue size to avoid seeking and audio
problems when the queue gets full.
Increase even more the multiqueue size to avoid seeking and audio
problems when the queue gets full.
decodebin2: raise the default queue size from 2MB to 5MB
configure.ac: Check for glib 2.30
gst-plugins-base requires glib >= 2.30 because of
g_cclosure_marshal_generic that was introduced in 2.30.
gst-plugins-base requires glib >= 2.30 because of
g_cclosure_marshal_generic that was introduced in 2.30.
appsink: add crop signal..
stridetransform: maintain caps order
transform yuv to yuv;yuv-strided and yuv-strided to yuv-strided;yuv.
Fixes some dynamic pipelines negotiating non-strided yuv for no good reason.
transform yuv to yuv;yuv-strided and yuv-strided to yuv-strided;yuv.
Fixes some dynamic pipelines negotiating non-strided yuv for no good reason.
encodebin: whitelist h264parse only when plugging parsers...
...and fix parsers post 24.14
...and fix parsers post 24.14
encodebin: set GST_ENC_FLAG_NO_VIDEO_CONVERTION on omap
pbutils: fix compilation error in macro expansion
Fix:
"encoding-target.c: In function 'get_locale': encoding-target.c:421: error:
used struct type value where scalar is required"
Rename a local variable from 'loc' to 'locale' since GST_LOG declares
a variable called loc internally.
Fix:
"encoding-target.c: In function 'get_locale': encoding-target.c:421: error:
used struct type value where scalar is required"
Rename a local variable from 'loc' to 'locale' since GST_LOG declares
a variable called loc internally.
ffmpegcolorspace: support for rowstride
stride: support for 32bit RGB formats
stride: more flexible stride/color conversion
Refactor stride transform element to address a number of limitations:
1) support converting buffers from one rowstride to another, in addition to
just handling conversion from strided <-> unstrided.
2) refactor convert code to make it easier to add new formats
3) refactor caps handling code to build template caps based upon color
formats listed in convert (stride_conversions table).
4) refactor caps parsing/building to correctly handle RGB formats
5) add support for crop.. currently we optimize by just only copying the
uncropped part of the frame, but this is the first step to true handling of
cropping, so that we can crop out padding for the benefit of sink elements
that don't understand crop or stride. (The convert code handles it fine..
the caps parsing/building in gststridetransform.c would need to handle caps
re-negotiation when the crop changes for this to be complete.)
Refactor stride transform element to address a number of limitations:
1) support converting buffers from one rowstride to another, in addition to
just handling conversion from strided <-> unstrided.
2) refactor convert code to make it easier to add new formats
3) refactor caps handling code to build template caps based upon color
formats listed in convert (stride_conversions table).
4) refactor caps parsing/building to correctly handle RGB formats
5) add support for crop.. currently we optimize by just only copying the
uncropped part of the frame, but this is the first step to true handling of
cropping, so that we can crop out padding for the benefit of sink elements
that don't understand crop or stride. (The convert code handles it fine..
the caps parsing/building in gststridetransform.c would need to handle caps
re-negotiation when the crop changes for this to be complete.)
video: fix endianess issue for 16bit RGB formats
video: more flexible video caps utility
Add gst_video_format_new_caps_simple() to allow for more flexible video
caps builder, which could be used for template caps and non-fixed caps.
Include some changes from ea7446e5b5ad7e2ea15e23d9e7a6bf0746d7c8fa.
Add gst_video_format_new_caps_simple() to allow for more flexible video
caps builder, which could be used for template caps and non-fixed caps.
Include some changes from ea7446e5b5ad7e2ea15e23d9e7a6bf0746d7c8fa.
textoverlay: add stride support
playbin: disable interlaced support
Latest totem is enabling interlaced support, which causes similar issues
to when native-video is not used.. for now, since none of the codecs
support it, disable interlaced support.
Latest totem is enabling interlaced support, which causes similar issues
to when native-video is not used.. for now, since none of the codecs
support it, disable interlaced support.
modify playbin to use stridetransform
stridetransform: fix problem transforming caps with list of fourcc's
previous logic assumed that the format field would contain just a single fourcc
previous logic assumed that the format field would contain just a single fourcc
stridetransform: updates for new extra-anal compiler warning flags
Add support for RGB565 to stridetransform
add support to convert to YUY2/YUYV color format
add some neon
refactor stridetransform to make it easier to add new transforms (stride and/or colorspace)
fix to avoid parsing caps on every frame
add basic support for I420->NV12 colorspace conversion
Add NV12 support in stridetransform
add rowstride support to video utility functions
fix a small typo.. need to use the smaller of {new_width, orig_width} for the line-by-line copy to avoid overwriting past end of buffer
add gst_stride_transform_transform_size()
input buffer size and output buffer size many not be multiples of a common unit size, so the transform_size() method should be used
input buffer size and output buffer size many not be multiples of a common unit size, so the transform_size() method should be used
stridetransform: implement transform function
Still needed are a few details, like conversion from one stride to another (instead of just strided->nonstrided or visa versa), and support for RGB and more YUV color formats.
Still needed are a few details, like conversion from one stride to another (instead of just strided->nonstrided or visa versa), and support for RGB and more YUV color formats.
stridetransform: implement caps negotiation and related parts
now all that is left is to implement the actual transform functions
now all that is left is to implement the actual transform functions
stridetransform: skeletal implementation of stridetransform element
Release 0.10.36
docs: update docs
po: update translations
docs: add new audio base class API to docs and .def file
rtspconnection: only send new data immediately if there are no queued messages
Even if watch->messages->length is 0 there may still be some
data from a message that was only written partially at the
previous attempt stored in watch->write_data, so check for
that as well. We don't want to write data into the middle
of another message, which could happen when there wasn't
enough bandwidth.
https://bugzilla.gnome.org/show_bug.cgi?id=669039
Even if watch->messages->length is 0 there may still be some
data from a message that was only written partially at the
previous attempt stored in watch->write_data, so check for
that as well. We don't want to write data into the middle
of another message, which could happen when there wasn't
enough bandwidth.
https://bugzilla.gnome.org/show_bug.cgi?id=669039
audiodecoder: add some properties to tweak baseclass behaviour
... so subclass can also rely upon never being bothered with some NULL buffer
it can't do any interesting with, or with any data before it received
any format configuration (and setup properly).
... so subclass can also rely upon never being bothered with some NULL buffer
it can't do any interesting with, or with any data before it received
any format configuration (and setup properly).
audioencoder: add some properties to tweak baseclass behaviour
... so subclass can also rely upon never being bothered with less data
than it desires or with some NULL buffer it can't do any interesting with.
... so subclass can also rely upon never being bothered with less data
than it desires or with some NULL buffer it can't do any interesting with.
audiodecoder: assert some more that subclass parsed frame has proper len
discoverer: try harder to obtain a duration if we don't get one right away
If we don't get a duration right away, set the pipeline to playing
and sleep a bit, then try again. This is ugly, but the least worst
we can do right now. The alternative would be to make parsers etc.
return some bogus duration estimate even after only having pushed
a single frame, for example.
Fixes discoverer showing 0 durations for some mp3 and aac files
(e.g. soweto-adts.aac).
If we don't get a duration right away, set the pipeline to playing
and sleep a bit, then try again. This is ugly, but the least worst
we can do right now. The alternative would be to make parsers etc.
return some bogus duration estimate even after only having pushed
a single frame, for example.
Fixes discoverer showing 0 durations for some mp3 and aac files
(e.g. soweto-adts.aac).
0.10.35.3 pre-release
oggdemux: fix granpos interpolation violating max keyframe distance
In case many packets fit on a page, we may not see a granpos for
a while, and granpos interpolation can wrap the 'frames since last
keyframe' part of the granpos, generating a granpos which is smaller
than what it should be.
This is fixed by detecting keyframe packets (at least for Theora),
and updating the last keyframe granpos from this.
This may still be generating potentially wrong granpos for streams
which have a Theora like granpos (keyframes, a max keyframe distance
and a count of frames since last keyframe), and which allow implicit
granules on packets. For these streams, a custom keyframe detection
routine should be plugged into their GstOggStream mapper.
https://bugzilla.gnome.org/show_bug.cgi?id=669164
In case many packets fit on a page, we may not see a granpos for
a while, and granpos interpolation can wrap the 'frames since last
keyframe' part of the granpos, generating a granpos which is smaller
than what it should be.
This is fixed by detecting keyframe packets (at least for Theora),
and updating the last keyframe granpos from this.
This may still be generating potentially wrong granpos for streams
which have a Theora like granpos (keyframes, a max keyframe distance
and a count of frames since last keyframe), and which allow implicit
granules on packets. For these streams, a custom keyframe detection
routine should be plugged into their GstOggStream mapper.
https://bugzilla.gnome.org/show_bug.cgi?id=669164
vorbisparse: pedantically recognize undefined headers too
vorbisparse: fix header detection
It was matching non header packets.
This fixes various leaks, where buffers would be pushed onto a headers
list, but never popped.
Might also fix corruption as those buffers were dropped from the output
silently...
https://bugzilla.gnome.org/show_bug.cgi?id=669167
It was matching non header packets.
This fixes various leaks, where buffers would be pushed onto a headers
list, but never popped.
Might also fix corruption as those buffers were dropped from the output
silently...
https://bugzilla.gnome.org/show_bug.cgi?id=669167
propertyprobe: fix documentation
playbin2: do not try to deactivate an inactive group
A group may have failed to activate due to an error (for instance,
having set the URI to a non existent location in about-to-finish).
https://bugzilla.gnome.org/show_bug.cgi?id=666395
A group may have failed to activate due to an error (for instance,
having set the URI to a non existent location in about-to-finish).
https://bugzilla.gnome.org/show_bug.cgi?id=666395
subtitleoverlay: fix state change stall on PAUSED->READY->PAUSED
After a PAUSED->READY change the sink pads are currently not set to
blocking state. When the element is set back to PAUSED, the change will
be done asynchronously, but as the _pad_blocked_cb() callback is now not
called, the state change never completes.
Fix that by setting the sink pads to blocking state on a PAUSED->READY
change, which ensures that the _pad_blocked_cb() is called when needed
on any future READY->PAUSED change. The sink pads are already put to
blocking state on NULL->READY change, so this behavior is consistent.
Fixes bug #668097.
After a PAUSED->READY change the sink pads are currently not set to
blocking state. When the element is set back to PAUSED, the change will
be done asynchronously, but as the _pad_blocked_cb() callback is now not
called, the state change never completes.
Fix that by setting the sink pads to blocking state on a PAUSED->READY
change, which ensures that the _pad_blocked_cb() is called when needed
on any future READY->PAUSED change. The sink pads are already put to
blocking state on NULL->READY change, so this behavior is consistent.
Fixes bug #668097.
streamsynchronizer: avoid unlikely NULL dereference
videoscale: prevent implicit upgrade to integer type and sign extension
gst-discoverer: remove extraneous variable
playsink: verify linking to overlay element
playsink: avoid finding sink in NULL bin in corner case
tag: exif: add missing break
oggstream: initialize variable
... to help out challenged compiler.
... to help out challenged compiler.
alsasink: fix high sample rates being rejected
An ALSA sink may select a different rate (as we use the _set_rate_near
API, which is not guaranteed to set the exact target rate).
The rest of the code seems to already handle this well, as output
from a 88200 Hz file seems to have the correct pitch when selecting
a 96 kHz rate.
An ALSA sink may select a different rate (as we use the _set_rate_near
API, which is not guaranteed to set the exact target rate).
The rest of the code seems to already handle this well, as output
from a 88200 Hz file seems to have the correct pitch when selecting
a 96 kHz rate.
alsasink: fix rate match message mistaking error code for sample rate
Android, Add explicit path for zlib
This change fixes building gst-libs/gst/tag/ code with
the Android buildsystem.
This change fixes building gst-libs/gst/tag/ code with
the Android buildsystem.
Fix wrong access to undefined struct member
For the USE_TREMOLO case, GstVorbisDec doesn't have
a vb member. Besides, Tremolo's vorbis_dsp_synthesis()
expects a vorbis_dsp_state to be passed as first
argument. Not a vorbis_block.
For the USE_TREMOLO case, GstVorbisDec doesn't have
a vb member. Besides, Tremolo's vorbis_dsp_synthesis()
expects a vorbis_dsp_state to be passed as first
argument. Not a vorbis_block.
Fix TREMELO -> TREMOLO typo
theoraparse: fix array leak
discoverer: fix structure leak
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
Add missing DEFAULT_INCLUDES on androgenizer call
Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am
Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.
Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am
Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.
oggdemux: fix push mode chain leak
When I first implemented push mode seeking, I removed the chain
freeing there as it could be used later. The current code does not
seem to do that though, so I'm restoring the previous freeing,
which plugs the leak while apparently not reintroducing use of
freed data with chained and normal files, both with gst-launch
playbin2 and Totem.
When I first implemented push mode seeking, I removed the chain
freeing there as it could be used later. The current code does not
seem to do that though, so I'm restoring the previous freeing,
which plugs the leak while apparently not reintroducing use of
freed data with chained and normal files, both with gst-launch
playbin2 and Totem.
discoverer: fix leaks caused by some base class dtors not being called
discoverer: fix caps and discoverer object ref leaks
discoverer: add a few consts where appropriate
discoverer: fix pad leak
discoverer: use GST_TYPE_TAG_LIST for tag lists
They may not be structures in 0.11/1.0.
They may not be structures in 0.11/1.0.
discoverer: fix potential tag list leaks
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
discoverer: fix potential caps leak
in last else chunk.
in last else chunk.
oggstream: fix tag list leak
oggdemux: fix pad leak
oggdemux: fix hang on small truncated files
A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.
A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.
playback: document DEINTERLACE flag