Sebastian Dröge [Tue, 4 Nov 2014 08:52:11 +0000 (09:52 +0100)]
gl/cocoa: include gl3.h in configure too for consistency with gstglapi.h
Olivier Crête [Tue, 4 Nov 2014 01:45:03 +0000 (20:45 -0500)]
insertbin: Add doc for the ignored user-data in action signals
Julien Isorce [Mon, 3 Nov 2014 23:24:33 +0000 (23:24 +0000)]
gl/cocoa: use NSAutoreleasePool to free resize data
Otherwise when resizing the window you will also get messages like:
class NSConcreteMapTable autoreleased with no pool in place - just leaking
class NSConcreteValue autoreleased with no pool in place - just leaking
class NSConcreteValue autoreleased with no pool in place - just leaking
class __NSCFDictionary autoreleased with no pool in place - just leaking
Julien Isorce [Mon, 3 Nov 2014 23:08:09 +0000 (23:08 +0000)]
gl/cocoa: include gl3.h to have GL_CONTEXT_PROFILE_MASK
Julien Isorce [Mon, 3 Nov 2014 23:07:34 +0000 (23:07 +0000)]
gl/cocoa: make sure to turn on frame rectangle changes notifications
Default value of property postsFrameChangedNotifications is YES
but it is worth to explicitly enable it.
Julien Isorce [Mon, 3 Nov 2014 23:02:17 +0000 (23:02 +0000)]
gl/cocoa: fix uncaught exception 'unrecognized selector sent to instance'
Need to set the ':' as the reshape method now takes one parameter.
For the story, the GstGLNSView was previously inheriting from
NSOpenGLView which has a reshape function without any parameter.
Now the GstGLNSView inherits from NSView and we re-use the reshape
function manually.
Julien Isorce [Mon, 3 Nov 2014 22:59:41 +0000 (22:59 +0000)]
gl/cocoa: fix compiler warning
Use the reshape function after being defined. The other way
would have been to declare the reshape function in the header.
gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
gstglwindow_cocoa.m:555: warning: '...' as arguments.)
Sebastian Dröge [Mon, 3 Nov 2014 15:54:58 +0000 (16:54 +0100)]
intervideosrc: Negotiate framerate with downstream
Prefer the closest framerate to the input framerate though.
Sebastian Dröge [Mon, 3 Nov 2014 15:24:33 +0000 (16:24 +0100)]
inter*src: No need to set caps manually on the pad
basesrc does that for us already.
Sebastian Dröge [Mon, 3 Nov 2014 15:13:23 +0000 (16:13 +0100)]
videoaggregator: Swap source/destination parameters of gst_video_converter_frame()
Wim Taymans [Mon, 3 Nov 2014 14:19:48 +0000 (15:19 +0100)]
inter: fix order of arguments
Sebastian Dröge [Mon, 3 Nov 2014 09:05:59 +0000 (10:05 +0100)]
interaudio: Set all required fields on the template caps
https://bugzilla.gnome.org/show_bug.cgi?id=739542
Tim-Philipp Müller [Mon, 3 Nov 2014 00:17:41 +0000 (00:17 +0000)]
gl: fix Since marker for gst_gl_window_run_navigation()
Tim-Philipp Müller [Sun, 2 Nov 2014 23:24:39 +0000 (23:24 +0000)]
inter: don't leak surface name
Tim-Philipp Müller [Tue, 3 Sep 2013 10:11:54 +0000 (11:11 +0100)]
mpegdemux: start pushing data again when a pad gets linked later
The whole not_linked optimisation is really a bit dodgy here, but
let's leave it in place for now and at least start pushing data
again when a pad got linked later, in which case we should get a
RECONFIGURE event.
Tim-Philipp Müller [Mon, 2 Sep 2013 22:36:43 +0000 (23:36 +0100)]
mpegdemux: namespace fixes
Tim-Philipp Müller [Sun, 2 Nov 2014 19:26:20 +0000 (19:26 +0000)]
audiovisualizer: post QoS messages when dropping frames due to QoS
Tim-Philipp Müller [Sun, 2 Nov 2014 19:12:56 +0000 (19:12 +0000)]
audiovisualizer: fix boilerplate macros
Tim-Philipp Müller [Sun, 2 Nov 2014 17:18:12 +0000 (17:18 +0000)]
Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED
Tim-Philipp Müller [Sun, 2 Nov 2014 17:17:46 +0000 (17:17 +0000)]
hls: fix indentation
Luis de Bethencourt [Wed, 29 Oct 2014 18:18:07 +0000 (18:18 +0000)]
glshader: Fix memory leak
Memory is only freed in the TRUE clause of the if conditional. Free in the else
clause as well.
Also, consolidate g_malloc + sprintf into a g_strdup_printf().
CID #1212171
https://bugzilla.gnome.org/show_bug.cgi?id=739368
Nicolas Dufresne [Sat, 1 Nov 2014 14:10:27 +0000 (10:10 -0400)]
rtpopus: Use OPUS encoding name
Both Firefox and Chrome uses OPUS as the encoding in their SDP.
Adding this now defacto standard name remove the need for special
case in SDP parsing code.
https://bugzilla.gnome.org/show_bug.cgi?id=737810
Thiago Santos [Fri, 31 Oct 2014 20:32:56 +0000 (17:32 -0300)]
mssdemux: add type of stream to debug log
Makes it faster to debug why certain streams are not showing
Thiago Santos [Fri, 31 Oct 2014 20:32:39 +0000 (17:32 -0300)]
mssdemux: do not unlock not locked mutex
Luis de Bethencourt [Fri, 31 Oct 2014 10:45:19 +0000 (10:45 +0000)]
glcolorconvert: fix comments that confuse gtk-doc
GTK-Doc uses a special syntax for code documentation. A multiline comment that
starts with an additional '*' marks a documentation block that will be processed
by the GTK-Doc tools. So GTK-Doc is confused if a comment block starts with that
additional '*' but isn't meant to be processed. Removing this additional '*'.
https://bugzilla.gnome.org/show_bug.cgi?id=739444
Matthew Waters [Fri, 31 Oct 2014 01:52:50 +0000 (12:52 +1100)]
glimagesink: resize the viewport correctly on a caps change
with force-aspect-ratio=true, if the width or height changed, the
viewport wasn't being updated to respect the new video width and height
until a resize occured.
Matthew Waters [Fri, 31 Oct 2014 01:52:07 +0000 (12:52 +1100)]
glmixer: advertise support for changing input caps mid-stream
https://bugzilla.gnome.org/show_bug.cgi?id=739334
Matthew Waters [Fri, 31 Oct 2014 01:30:53 +0000 (12:30 +1100)]
gl: sprinkle some Since markers
Luis de Bethencourt [Thu, 30 Oct 2014 14:27:38 +0000 (14:27 +0000)]
mpegts: remove storage of never used values
Both _parse_atsc_mgt() and _parse_atsc_vct () change the value of the variable
data just before returning. The new value is never used since data is a pointer
declared at the beginning of the function and going out of scope just after the
new value is stored.
https://bugzilla.gnome.org/show_bug.cgi?id=739404
Luis de Bethencourt [Thu, 30 Oct 2014 17:06:01 +0000 (17:06 +0000)]
gaudieffects: remove < 0 comparison on guint32
Current CLAMP checks both if the value is below 0 or above 255. Considering it
is an unsigned value it can never be less than zero, so that comparison is
unnecessary. Switching to using if just for the upper bound.
CID #1139796
Luis de Bethencourt [Thu, 30 Oct 2014 16:05:14 +0000 (16:05 +0000)]
gaudieffects: declare floor and ceiling as constants
Luis de Bethencourt [Thu, 30 Oct 2014 15:49:01 +0000 (15:49 +0000)]
gaudieffects: stored value is overwritten
Value from left_luminance is assigned to out_luminance here, but that stored
value is not used before it is overwritten in the next cycle of the loop.
Removing assignation.
CID #1226473
Matthieu Bouron [Fri, 24 Oct 2014 14:52:42 +0000 (16:52 +0200)]
mpegtsbase: do not remove programs on EOS
As a consequence, tsdemux won't remove its pads anymore on EOS.
Fixes the case when mpegtsbase is not able to process new packets
after EOS as the corresponding pids aren't known anymore because
the programs were removed and the pes/psi were kept, preventing the
PAT to be parsed again.
https://bugzilla.gnome.org/show_bug.cgi?id=738695
Vincent Penquerc'h [Mon, 21 Apr 2014 10:48:22 +0000 (11:48 +0100)]
siren: fix sample rate list
It was using a 24000/24000/48000, but I think it meant to use
24000/32000/48000. Not 100% sure...
https://en.wikipedia.org/wiki/G.722.1 has the list of supported
bitrates. It's not clear whether the "flag" code maps to this,
however.
Coverity 206072
Luis de Bethencourt [Thu, 30 Oct 2014 14:49:05 +0000 (14:49 +0000)]
videoaggregator: remove storage of never used values
These two values are stored just before the function returns and they go out of
scope.
Vincent Penquerc'h [Tue, 10 Jun 2014 08:33:40 +0000 (09:33 +0100)]
opusenc: update output segment stop time to match clipped samples
This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.
Arun Raghavan [Thu, 30 Oct 2014 13:15:04 +0000 (18:45 +0530)]
srtpdec: Trivial documentation fix
Matthew Waters [Thu, 30 Oct 2014 12:08:00 +0000 (23:08 +1100)]
glmixer: don't get the current caps from GstVideoInfo for the srcpad
It's missing the caps features needed.
Matthew Waters [Thu, 30 Oct 2014 07:57:59 +0000 (18:57 +1100)]
gl/examples: update for other-context property removal
Matthew Waters [Thu, 30 Oct 2014 05:48:00 +0000 (16:48 +1100)]
glcontext: add more functionality to wrapped contexts
Implements get_current_context() and get_proc_address() for wrapped
contexts.
Matthew Waters [Thu, 30 Oct 2014 01:43:09 +0000 (12:43 +1100)]
glshader: advertise the default vertex and fragment shaders on desktop GL
Gwenole Beauchesne [Thu, 22 May 2014 11:13:14 +0000 (13:13 +0200)]
codecparsers: h264: recognize SVC NAL units.
Identify SVC NAL units and tag them as such. This is necessary for
gst_h264_parser_parse_slice_hdr() to fail gracefully, if the user
did not perform the check himself.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Wed, 29 Oct 2014 13:53:15 +0000 (14:53 +0100)]
codecparsers: h264: fix number of list0 {,non-}anchor refs.
Fix copy-paste error in gst_h264_sps_mvc_copy() where num_anchor_refs_l0
and num_non_anchor_refs_l0 were incorrectly initialized from list1.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Tim-Philipp Müller [Wed, 29 Oct 2014 13:51:40 +0000 (13:51 +0000)]
Update .def for new API
Tim-Philipp Müller [Wed, 29 Oct 2014 13:15:51 +0000 (13:15 +0000)]
codecparsers: sprinkle some gtk-doc Since: markers for new API
Lubosz Sarnecki [Wed, 29 Oct 2014 11:22:14 +0000 (12:22 +0100)]
satisfy gst-indent
Jan Schmidt [Wed, 29 Oct 2014 12:23:13 +0000 (22:23 +1000)]
glfiltercube: Fix typo in property description
Jan Schmidt [Wed, 29 Oct 2014 12:23:02 +0000 (22:23 +1000)]
codecparsers: Initialise nalu extension type to NONE
Always set a default NALU extension type, and override it
when we find a supported extension, to avoid having it unset/random
for unsupported NALU extensions
Jan Schmidt [Tue, 7 Oct 2014 05:28:03 +0000 (16:28 +1100)]
h264parser: Fix frame packing SEI parsing
Sreerenj Balachandran [Tue, 25 Mar 2014 13:08:44 +0000 (14:08 +0100)]
codecparsers: h264: add support for Frame Packing Arrangement SEI message.
This parses the frame_packing_arragement() payload in SEI message.
This information can be used by decoders to appropriately rearrange the
samples which belong to Stereoscopic and Multiview High profiles.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Sreerenj Balachandran [Fri, 8 Mar 2013 16:17:16 +0000 (18:17 +0200)]
codecparsers: h264: add support for Stereo Video Information SEI message.
Add the necessary payload parsing support for stereo_video_info.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Gwenole Beauchesne [Mon, 1 Oct 2012 11:36:45 +0000 (13:36 +0200)]
codecparsers: h264: parse seq_parameter_set_mvc_extension().
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Gwenole Beauchesne [Wed, 26 Sep 2012 16:46:36 +0000 (18:46 +0200)]
codecparsers: h264: parse MVC syntax elements.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Jan Schmidt [Wed, 29 Oct 2014 11:58:37 +0000 (22:58 +1100)]
tsparse: Handle backward and discont timestamps better.
Assume that small backward PCR jumps are just from upstream packet
mis-ordering and don't reset timestamp tracking state - assuming that
things will be OK again shortly.
Make the threshold for detecting discont between sequential buffers
configurable and match the smoothing-latency setting on tsparse
to better cope with data bursts.
Jan Schmidt [Wed, 29 Oct 2014 11:58:37 +0000 (22:58 +1100)]
tsparse: Implement timestamp/retimestamping of output buffers
When the set-timestamps property is set, use PCRs on the provided
(or autodetected) pcr-pid to apply (or replace) timestamps on the
output buffers, using piece-wise linear interpolation.
This allows tsparse to be used to stream an arbitrary mpeg-ts file,
or to smooth jittery reception timestamps from a network stream.
The reported latency is increased to match the smoothing latency if
necessary.
Vincent Abriou [Wed, 29 Oct 2014 09:09:35 +0000 (10:09 +0100)]
configure.ac: auto decision to include GL library fails
The part of the configure.ac that consist to check if we
can include both GL and GLES2 at the same time is failing.
Indeed, in the case NEED_GLES2=yes and NEED_OPENGL=auto,
HAVE_OPENGL variable is updated whereas it should be HAVE_GL
variable that has to be updated (HAVE_OPENGL variable is not
used in the rest of the configure.ac).
https://bugzilla.gnome.org/show_bug.cgi?id=739348
Signed-off-by: Vincent Abriou <vincent.abriou@st.com>
Reviewed-by: Benjamin GAIGNARD <benjamin.gaignard@linaro.org>
Luis de Bethencourt [Wed, 29 Oct 2014 10:37:38 +0000 (10:37 +0000)]
codecparsers: remove ignored increment of return
'return val++;' returns the value before it is incremented because the post
increment happens after the statement. Removing the unused increment.
https://bugzilla.gnome.org/show_bug.cgi?id=739345
Wang Xin-yu (王昕宇) [Wed, 29 Oct 2014 00:27:57 +0000 (08:27 +0800)]
glmixer:fix incorrect parameter passed to handle_set_context
Tim-Philipp Müller [Tue, 28 Oct 2014 21:42:31 +0000 (21:42 +0000)]
Add some missing G_END_DECLS
Tim-Philipp Müller [Tue, 28 Oct 2014 17:44:47 +0000 (17:44 +0000)]
faad: fix wrong unrefs in set_format error code path
Matthew Waters [Tue, 28 Oct 2014 07:27:11 +0000 (18:27 +1100)]
glfilter: get the config from the correct pool
Matthew Waters [Tue, 28 Oct 2014 07:01:27 +0000 (18:01 +1100)]
glfilter: avoid uninitialized variable size when chaining multiple glfilters
https://bugzilla.gnome.org/show_bug.cgi?id=739277
Matthew Waters [Tue, 28 Oct 2014 07:01:01 +0000 (18:01 +1100)]
glfilter: gst-indent file
Matthew Waters [Tue, 28 Oct 2014 06:31:37 +0000 (17:31 +1100)]
glcontext: add api for retreiving the current context and api
that is current in the calling thread.
Matthew Waters [Tue, 21 Oct 2014 08:03:08 +0000 (19:03 +1100)]
glprototypes: add vertex attribute array definitions
Sebastian Dröge [Mon, 27 Oct 2014 16:57:46 +0000 (17:57 +0100)]
Automatic update of common submodule
From 84d06cd to 7bb2bce
Sebastian Dröge [Mon, 27 Oct 2014 14:34:58 +0000 (15:34 +0100)]
inter: Use 64-bit safe scaling functions
Tim-Philipp Müller [Mon, 27 Oct 2014 12:43:53 +0000 (12:43 +0000)]
dvbsrc: reflow switch case statement a bit
Make it clear there's no 'break' missing at the end
of the case SYS_DVBT, and pacify coverity (CID 1249689).
L. Sorin [Thu, 12 Jun 2014 14:59:46 +0000 (16:59 +0200)]
curlsshsink: use the locally defined types
Just a matter of coding style, makes the code a bit tidier...
https://bugzilla.gnome.org/show_bug.cgi?id=731581
Tim-Philipp Müller [Sun, 26 Oct 2014 15:45:20 +0000 (15:45 +0000)]
Parallelise 'make check-valgrind'
Tim-Philipp Müller [Sun, 26 Oct 2014 15:44:05 +0000 (15:44 +0000)]
configure: check for more openh264 API that we need
Tim-Philipp Müller [Sat, 25 Oct 2014 17:50:42 +0000 (18:50 +0100)]
tests: fix audiomixer test on big endian systems
Reynaldo H. Verdejo Pinochet [Sat, 25 Oct 2014 00:42:58 +0000 (21:42 -0300)]
dvbsrc: correctly capitalize DiSEqC
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 23:12:23 +0000 (20:12 -0300)]
dvbsrc: rework _output_frontend_stats()
Retry stat reporting ioctls on EINTR
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 22:30:25 +0000 (19:30 -0300)]
dvbsrc: add checks on allowed DVB-T bandwidths
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 22:12:33 +0000 (19:12 -0300)]
dvbsrc: add fixme note on DTV_LNA setting
Rephrase another comment while at it
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 21:57:40 +0000 (18:57 -0300)]
dvbsrc: add missing logic for additional bandwidths
New 1.712, 5 and 10 MHz bandwidths were been ignored
at set/get prop.
Edward Hervey [Fri, 24 Oct 2014 13:53:59 +0000 (15:53 +0200)]
configure.ac: Use libsrtp.pc if present
Vootele Vesterblom [Thu, 23 Oct 2014 14:42:27 +0000 (17:42 +0300)]
rawparse: fix handling of segment event in sink event handler
Matthew Waters [Thu, 23 Oct 2014 13:35:22 +0000 (00:35 +1100)]
glmixer: override the caps query in order to 'convert' capsfeatures
Otherwise, it is only possible for the sink pads and the src pads to
have the exact same caps features. We can convert from any feature
to another feature so support that.
Matthew Waters [Thu, 23 Oct 2014 12:55:48 +0000 (23:55 +1100)]
glmixer: override the accept caps query in order to 'convert' capsfeatures
Otherwise, it is only possible for the sink pads and the src pads to
have the exact same caps features. We can convert from any feature
to another feature so support that.
Matthew Waters [Thu, 14 Aug 2014 13:29:00 +0000 (23:29 +1000)]
gl: propogate other-context using GstContext
Brendan Long [Mon, 20 Oct 2014 09:07:08 +0000 (03:07 -0600)]
dash: Remove obsolete README.
https://bugzilla.gnome.org/show_bug.cgi?id=738848
Sebastian Dröge [Wed, 22 Oct 2014 17:34:17 +0000 (19:34 +0200)]
interaudio: Add support for arbitrary raw audio formats
Sebastian Dröge [Wed, 22 Oct 2014 17:31:31 +0000 (19:31 +0200)]
intervideo: Add support for arbitrary video formats
Sebastian Dröge [Wed, 22 Oct 2014 17:28:48 +0000 (19:28 +0200)]
inter: Truncate the caps as part of the fixating
Sebastian Dröge [Wed, 22 Oct 2014 17:08:39 +0000 (19:08 +0200)]
interaudio: Fix timestamp, latency and period handling
Sebastian Dröge [Wed, 22 Oct 2014 16:41:55 +0000 (18:41 +0200)]
interaudio: Use GST_DEBUG_OBJECT() instead of GST_DEBUG()
Sebastian Dröge [Wed, 22 Oct 2014 16:40:01 +0000 (18:40 +0200)]
interaudio: Properly pass through caps from the sink to the source
Otherwise a magic capsfilter after the source is required with
exactly the same caps as the input.
Sebastian Dröge [Wed, 22 Oct 2014 16:13:36 +0000 (18:13 +0200)]
inter: Clean up surfaces after the last user is gone
Sebastian Dröge [Wed, 22 Oct 2014 16:07:00 +0000 (18:07 +0200)]
inter: Whitespace cleanup
Sebastian Dröge [Wed, 22 Oct 2014 16:03:13 +0000 (18:03 +0200)]
intervideo: Properly pass through caps from the sink to the source
Otherwise a magic capsfilter after the source is required with
exactly the same caps as the input.
This would've failed before with invalid buffer sizes:
gst-launch-1.0 videotestsrc ! intervideosink intervideosrc ! "video/x-raw,width=640,height=480" ! xvimagesink
Sebastian Dröge [Wed, 22 Oct 2014 13:07:04 +0000 (15:07 +0200)]
rawparse: Check for 0-size after adjusting the size for the frame size
If we don't have a complete raw audio frame we would otherwise still
ask for a 0 sized buffer from the adapter.
Sebastian Dröge [Wed, 22 Oct 2014 12:43:50 +0000 (14:43 +0200)]
rawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode
Tim-Philipp Müller [Wed, 22 Oct 2014 12:03:30 +0000 (13:03 +0100)]
configure: improve openh264 check
The openh264 API is still unstable, so check for
structure member that we need to prevent building
against an older incompatible version.
Tim-Philipp Müller [Wed, 22 Oct 2014 11:36:36 +0000 (12:36 +0100)]
configure: simplify openh264 check
Of course PTHREADS_CFLAGS is not used anywhere now
for the check, but that was the case before as well.
Sebastian Dröge [Tue, 21 Oct 2014 14:21:08 +0000 (16:21 +0200)]
gl/cocoa: Fix compiler warning
gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
gstglwindow_cocoa.m:555: warning: '...' as arguments.)
Sebastian Dröge [Tue, 21 Oct 2014 13:42:32 +0000 (15:42 +0200)]
vtenc: Fix locking
The object lock only protects the session, as we modify
the session from other threads when the bitrate property
is changed. Don't hold it much longer than for session
related things.
And we need to release the video decoder stream lock before
enqueueing a frames. It might wait for our callback to dequeue
a frame from another thread, which will then take the stream
lock too and deadlock.
Tim-Philipp Müller [Tue, 21 Oct 2014 12:01:45 +0000 (13:01 +0100)]
Automatic update of common submodule
From a8c8939 to 84d06cd
Stefan Sauer [Tue, 21 Oct 2014 11:28:50 +0000 (13:28 +0200)]
configure: use a macro to check for pthread
Replace the hardcoded -lpthread in most of the places with $PTHREAD_LIBS. For
openh264 also add $PTHREAD_LIBS to OPENH264_LIBS until upstream ships a .pc
file.