Commit graph

17325 commits

Author SHA1 Message Date
Tim-Philipp Müller
1aceebd67f elements: add dataurisrc to build
Moved from -bad.
2016-11-28 11:19:12 +00:00
Tim-Philipp Müller
76c47b7e9c dataurisrc: fix string leak in property getter 2016-11-28 11:19:07 +00:00
Tim-Philipp Müller
a837ff6581 Move dataurisrc element from -bad
https://bugzilla.gnome.org/show_bug.cgi?id=774527
2016-11-28 11:18:39 +00:00
Sebastian Dröge
6dcf8263e8 message: Ensure that the "debug" field of error/warning/info messages is valid UTF-8
The caller might pass arbitrary data here that caused the error, and
trying to set invalid UTF-8 in a GstStructure causes it to be not set at
all. Later when trying to parse it, the field will not exist and the
return value will point to invalid memory. Prevent this by storing NULL
instead.

Also print a g_warning(), the caller should never ever do this to begin
with.
2016-11-28 12:32:16 +02:00
Tim-Philipp Müller
11b36931a1 common: use https protocol for common submodule
https://bugzilla.gnome.org/show_bug.cgi?id=775110
2016-11-26 11:21:05 +00:00
Hanno Boeck
950f68c8fe scripts: create-uninstalled-setup: use https protocol to clone repos
The git:// protocol is problematic from a security perspective, as
it provides no authenticity of data. https:// also works better in
environments with restricted network connectivity.

Also add CLONE_OPTS to do shallow checkouts more easily.

https://bugzilla.gnome.org/show_bug.cgi?id=775110
2016-11-26 11:12:05 +00:00
Ting-Wei Lan
ec2e213c50 meson: Support execinfo.h on FreeBSD by using -lexecinfo
FreeBSD supports execinfo.h and backtrace* functions, but
using them requires linking with -lexecinfo.

Requires sufficiently-new meson with #1053 fixed (post-0.36).

https://bugzilla.gnome.org/show_bug.cgi?id=774424
2016-11-25 19:28:04 +00:00
Edward Hervey
9cc36e511c tools: Remove files to be cleaned
manpages are no longer auto-generated
cov-related files should not be there (if needed we could use gitignore)
2016-11-23 18:56:20 +01:00
Olivier Crête
e6febb5bc1 basesink: Document the interaction between unlock() and wait_preroll()
This was totally non-obvious, the kind of big problem is that subclasses must
be able to unblock their streaming thread and continue exactly where they left off
on unpause!

https://bugzilla.gnome.org/show_bug.cgi?id=773912
2016-11-23 11:58:43 -05:00
Olivier Crête
5216322d39 fdsink: Block in preroll_wait on unlock
The correct behaviour of anything stuck in the ->render() function
between ->unlock() and ->unlock_stop() is to call
gst_base_sink_wait_preroll() and only return an error if this returns an
error, otherwise, it must continue where it left off!

https://bugzilla.gnome.org/show_bug.cgi?id=773912
2016-11-23 11:58:43 -05:00
Sebastian Dröge
2872ae21c3 element: Don't increment NULL pointers
Trivial workaround for coverity false warning.

CID 1394488, 1394487.
2016-11-23 18:57:17 +02:00
Tim-Philipp Müller
94cd315595 tools: fix distcheck and .gitignore 2016-11-23 09:58:44 +00:00
Antonio Ospite
38b9aa4c33 meson: tools: install the man pages
https://bugzilla.gnome.org/show_bug.cgi?id=773917
2016-11-23 09:38:25 +00:00
Antonio Ospite
2a5a8dd3c7 tools: ship the final man pages directly, no more man pages templates
Don't use templates for the man pages, the API version change is a rare
event, so it's not really worth keeping in place the "sed" boilerplate
to have it set at build time.

Shipping the final man pages directly also makes it easer to install the
man pages with meson (in a future commit).

Note that now all the occurrences of the programs names have the API
version as a suffix.

Traditionally the example command lines looked like:

  gst-launch ...

Now they look like:

  gst-launch-1.0 ...

This reflects the actual programs names and makes it easier to copy and
paste the example commands.

Also, the .gitignore file is adjusted not to ignore the final man pages
anymore.

You may need to clean your src/build directory before pulling in this
patch.

https://bugzilla.gnome.org/show_bug.cgi?id=773917
2016-11-23 09:09:05 +00:00
Matthew Waters
3eb4896435 controllers: add new proxy control binding
Allows proxying the control interface from one property on one GstObject
to another property (of the same type) in another GstObject.

E.g. in a parent-child relationship, one may need to
gst_object_sync_values() on the child and have a binding (set elsewhere)
on the parent update the value.

Note: that this doesn't solve GObject property forwarding and must be
taken care of by the implementation manually or using GBinding.

https://bugzilla.gnome.org/show_bug.cgi?id=774657
2016-11-23 17:15:09 +11:00
Julien Isorce
47fd993d4d memory: log with GST_INFO instead GST_ERROR when subclass map failed.
Add unit test to ensure that.

It can be a normal execution path to do some map trials and there is
no need to worry the user in that case.

The application has to check the return value of gst_memory_map.

https://bugzilla.gnome.org/show_bug.cgi?id=765600
2016-11-21 21:06:31 +00:00
Sebastian Dröge
f08c8d2da3 basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed
It might've failed just because of flushing or other things, and we
should retry again on the next possibility if something ever calls in
here again.

https://bugzilla.gnome.org/show_bug.cgi?id=774623
2016-11-18 12:04:18 +02:00
Scott D Phillips
7b29403e06 meson: add_global_arguments -> add_project_arguments
https://bugzilla.gnome.org/show_bug.cgi?id=774656
2016-11-18 09:30:12 +00:00
Jan Schmidt
fa3eac2d28 multiqueue: Make sure not-linked streams get woken up
When running in sync-by-running-time mode, pad groups
that have exactly 1 pad and it's not-linked might never
wake up after computing a high time, as the per-pad-group
high time was only recomputed when a pad in the group
advances.

Wake those up using the global multiqueue high-time across
all other groups instead.

https://bugzilla.gnome.org/show_bug.cgi?id=774322
2016-11-17 00:46:31 +11:00
Tim-Philipp Müller
0794b593af docs: misc fixes 2016-11-16 10:57:33 +00:00
Tim-Philipp Müller
06b015b62a utils: use temp var in fallback GST_WRITE_*() macros
To make sure the value is only expanded/used once, in case
there are side effects to it, and to avoid calculating it
or looking it up multiple times if there is a calculation
or lookup involved.
2016-11-16 10:57:33 +00:00
Jan Schmidt
2e579a7c1b baseparse: Fix previous commit
Check the correct segment format value.

parse->segment.format is the format we're outputting in,
not the upstream format. Use parse->priv->upstream_format instead,
and make sure it's set in pull mode.
2016-11-16 00:30:26 +11:00
Jan Schmidt
d81c0aec81 baseparse: Restrict query/convert responses when demuxing
If the parser is not parsing a raw elementary stream, restrict
the position, duration and conversion query replies to
things we can sensibly answer about - especially don't do
random conversions to/from bytes.
2016-11-16 00:12:22 +11:00
Jan Schmidt
a6ca8dfb42 queues: Don't return negative position queries.
When subtracting queued data sizes from upstream queries
in queue, queue2, downloadbuffer and typefind, clamp the
result to not go negative, in case upstream returned
a nonsense value that's too small (as could happen if
upstream is estimating, or just broken)
2016-11-16 00:12:22 +11:00
Scott D Phillips
075744a894 Cast away const from GstMetaInfo in *_get_meta_info() functions
MSVC warns about the const in the implicit argument conversion in the
calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.

https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-15 14:51:18 +02:00
Scott D Phillips
1e30725331 typefindhelper: Update prototype of helper_find_suggest()
forward declaration prototype is updated to match the change in:

 5a72c23 Change some types to match their prototypes

https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-15 14:29:36 +02:00
Tim-Philipp Müller
bb14800ba6 win32: remove copies of generated headers 2016-11-14 21:28:22 +00:00
Tim-Philipp Müller
6f4891e26f docs: remove more docbook build cruft that's no longer needed 2016-11-14 21:18:13 +00:00
Stefan Sauer
41cb643921 docs/README: remove more outdated pieces of info/advice 2016-11-14 21:29:43 +01:00
Stefan Sauer
06ce912ba6 scripts/gst-plot-traces.sh: make log parsing a bit more solid
Use grep -o to grab the log message only. This makes it work with colored log
files too. Prefilter the log to not catch tracer classes.

Update the commandline for the script in the docs.
2016-11-14 21:18:53 +01:00
Thibault Saunier
ae608845ca meson: require meson 0.36 and use new pic arg on static libs
Removes a meson warning and some special casing we had.
2016-11-14 19:21:13 +00:00
Scott D Phillips
5a72c23a54 Change some types to match their prototypes
Particularly note that the underlying integer type of the enum
GstTypeFindProbability is implementation dependent and may not match
guint.

https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-14 21:03:57 +02:00
Tim-Philipp Müller
b876b9fbba po: update for new translatable strings 2016-11-14 18:04:28 +00:00
Tim-Philipp Müller
d4f4707eda docs: remove FAQ which was moved into gst-docs module 2016-11-14 17:46:07 +00:00
Nicola Murino
ca3b05b96d gst-uninstalled: add GIO_EXTRA_MODULES
In case glib is installed into local prefix dir.

https://bugzilla.gnome.org/show_bug.cgi?id=748626
2016-11-12 17:27:18 +00:00
Tim-Philipp Müller
cc5af6273f utils: faster GST_WRITE_* macros if unaligned access is possible
https://bugzilla.gnome.org/show_bug.cgi?id=599546
2016-11-12 12:36:05 +00:00
Tim-Philipp Müller
89b413ef15 parse: better error message when linking two elements with capsfilter fails
https://bugzilla.gnome.org/show_bug.cgi?id=760550
2016-11-12 10:55:23 +00:00
Tim-Philipp Müller
66d2bae604 Add gst_print(), gst_println(), gst_printerr(), gst_printerrln()
Useful for debugging.

https://bugzilla.gnome.org/show_bug.cgi?id=766470
2016-11-12 10:43:55 +00:00
Scott D Phillips
584da6e86c taglist: remove return void in gst_tag_register
MSVC warns on this and the documentation about the warning says:

> The compiler assumes the function returns a value of type int

which is a little scary, so lets just remove the unnecessary 'return'

https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-12 10:50:33 +02:00
Nicolas Huet
9ae9a01fe2 tests: add unit test for gst_adapter_prev_pts_at_offset()
https://bugzilla.gnome.org/show_bug.cgi?id=765662
2016-11-11 18:18:23 +00:00
Nicolas Huet
9cd2677791 adapter: fix distance when getting prev pts/dts at offset
https://bugzilla.gnome.org/show_bug.cgi?id=765662
2016-11-11 18:18:23 +00:00
Scott D Phillips
03286b7b7e meson: don't add_global_arguments when being built as a subproject
https://bugzilla.gnome.org/show_bug.cgi?id=773568
2016-11-11 16:14:55 +00:00
Guillaume Desmottes
fcb938caae basetransform: fix pool leak when early returning in decide_allocation
https://bugzilla.gnome.org/show_bug.cgi?id=769023
2016-11-11 13:29:35 +00:00
Guillaume Desmottes
24a09d1b6d info: add GstStream and GstStreamCollection support to gst_debug_print_object()
https://bugzilla.gnome.org/show_bug.cgi?id=769220
2016-11-11 13:22:25 +00:00
Seungha Yang
562681a1b7 basesrc: Support PROTECTION event from application
Application may want to send PROTECTION event to the src element.

https://bugzilla.gnome.org/show_bug.cgi?id=769775
2016-11-11 13:07:51 +00:00
Antonio Ospite
4eb64cd276 meson: tools: generate the targets dynamically
The three targets are the same except for input and output
files, use a loop and generate them dynamically.

https://bugzilla.gnome.org/show_bug.cgi?id=773917
2016-11-11 10:01:16 +00:00
Antonio Ospite
ef3a60793b tools: don't mention gst-feedback in man pages
gst-feedback no longer exists.

https://bugzilla.gnome.org/show_bug.cgi?id=773917
2016-11-11 09:59:40 +00:00
Antonio Ospite
76656050b5 tools: put the examples descriptions before the commands in man page
Put the description of the example command lines before the command
instead of after them. The new way is more intuitive.

https://bugzilla.gnome.org/show_bug.cgi?id=773917
2016-11-11 09:58:40 +00:00
Antonio Ospite
7521d5b3cf tools: don't start lines with single quotes in man page
When a line starts with a single quote it's treated in a special way by
man, which may result in paragraphs of the man page not rendered by the
man pager, so just avoid that.

A possible solution could have been to escape the singe quote with
a \(cq sequence but this is rather unreadable, instead the text has been
reformatted to have the problematic quoted 'ppc' string on the previous
line.

https://bugzilla.gnome.org/show_bug.cgi?id=773917
2016-11-11 09:57:39 +00:00
Antonio Ospite
64c097d296 tools: escape dashes in the man pages
The portable way to have the dashes to be rendered as ASCII minuses is
to use the sequence backslash-dash, use this style at least for text
that can be copied and pasted (e.g. command names, file names, element
options).

Also use backslash-dash in the NAME section as suggested by lexgrog(1).

https://bugzilla.gnome.org/show_bug.cgi?id=773917
2016-11-11 09:55:16 +00:00