Commit graph

506 commits

Author SHA1 Message Date
Wim Taymans 08734e7598 audio-converter: rework the main processing loop
Rework the main processing loop. We now create an audio processing
chain from small core functions. This is very similar to how the
video-converter core works and allows us to statically calculate an
optimal allocation strategy for all possible combinations of operations.
Make sure we support non-interleaved data everywhere.
Add functions to calculate in and out frames and latency.
2015-12-16 11:13:15 +01:00
Evan Callaway 65c7bd7a2c rtspconnection: Support authentication during tunneling setup
gst_rtsp_connection_connect_with_response accepts a response pointer
which it fills with the response from setup_tunneling if the
connection is configured to be tunneled.  The motivation for this is to
allow the caller to inspect the response header to determine if
additional authentication is required so that the connection can be
retried with the appropriate authentication headers.

The function prototype of gst_rtsp_connection_connect has been
preserved for compatability with existing code and wraps
gst_rtsp_connection_connect_with_response.

https://bugzilla.gnome.org/show_bug.cgi?id=749596
2015-12-14 16:00:45 +01:00
Matthew Waters 0b98ed32ce videometa: add GstVideoAffineTransformationMeta
Adds a simple 4x4 affine transformations meta for passing arbitrary
transformations on buffers.

Based on patch by Matthieu Bouron

https://bugzilla.gnome.org/show_bug.cgi?id=731791
2015-11-11 00:19:25 +11:00
Wim Taymans e3f0f3b91e audio-converter: move audio converter to audio libs
Move the audio-converter helper to the audio library.
2015-11-06 17:53:22 +01:00
Wim Taymans dfa25a40fc audio-channel-mix: move channel mixer to audio libs
Move the channel mixer code to the audio library
2015-11-06 17:39:33 +01:00
Wim Taymans 4ae24dcb25 defs: update defs 2015-11-06 12:46:12 +01:00
Wim Taymans a7789854d5 audio-channels: rename get_default_mask
Rename _get_default_mask() to _get_fallback_mask() to make it more
clear that the function only provides a fallback if nothing else can be
done. Also clarify this in the documentation.

API: gst_audio_channel_get_fallback_mask()
2015-11-05 12:50:18 +01:00
Wim Taymans f86ed8cdf6 audio-channels: make method to get default channel-mask
Add a new method to get the default channel-mask.
Use the new method on audiodecoder and audioconvert.

API: gst_audio_channel_get_default_mask()
2015-11-05 10:52:53 +01:00
Sebastian Dröge bcd7b2fff2 codec-utils: Add utilities for Opus caps and the OpusHead header
https://bugzilla.gnome.org/show_bug.cgi?id=757152
2015-11-03 20:35:33 +02:00
Sebastian Dröge 35ea6fdddf audio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers
https://bugzilla.gnome.org/show_bug.cgi?id=757153
2015-11-03 20:35:33 +02:00
Matthew Waters 3a6d983951 win32 update exports for new rtp symbols 2015-10-16 10:48:50 +11:00
Sebastian Dröge 3297b4c2b9 win32: Update exports for new audiovisualizer symbols 2015-10-02 10:07:33 +03:00
Sebastian Dröge e49c492a53 Release 1.6.0 2015-09-25 23:15:20 +02:00
Sebastian Dröge d838d1e456 Release 1.5.91 2015-09-18 19:20:00 +02:00
Sebastian Dröge dc744b05b0 Release 1.5.90 2015-08-19 13:10:23 +03:00
Thiago Santos d19f347223 Revert "audiodecoder: expose default query handling function"
Apparently I forgot how gobject works, there is no need to expose
it directly as one can call it from the parent_class pointer

This reverts commit 8a64592481.
2015-08-15 13:44:35 -03:00
Thiago Santos c63db0e104 Revert "videodecoder: expose default query handling function"
Apparently I forgot how gobject works, there is no need to expose
it directly as one can call it from the parent_class pointer

This reverts commit ea9b6a7e3c.
2015-08-15 13:44:35 -03:00
Thiago Santos 33b1da7b80 audiodecoder: add option to use default pad accept-caps handling
Add gst_audio_decoder_set_use_default_pad_acceptcaps() to allow
subclasses to make videodecoder use the default pad acceptcaps
handling instead of resorting to the caps query that is, usually,
less efficient and unecessary

API: gst_audio_decoder_set_use_default_pad_acceptcaps
2015-08-15 13:44:34 -03:00
Thiago Santos 4982188cf7 videodecoder: add option to use default pad accept-caps handling
Add gst_video_decoder_set_use_default_pad_acceptcaps() to allow
subclasses to make videodecoder use the default pad acceptcaps
handling instead of resorting to the caps query that is, usually,
less efficient and unecessary

API: gst_video_decoder_set_use_default_pad_acceptcaps
2015-08-15 13:44:34 -03:00
Thiago Santos ea9b6a7e3c videodecoder: expose default query handling function
Subclasses can use it to select what queries they want to handle
and forward the rest to the default handling function.

API: gst_video_decoder_sink_query_default

https://bugzilla.gnome.org/show_bug.cgi?id=753623
2015-08-14 13:41:58 -03:00
Thiago Santos 8a64592481 audiodecoder: expose default query handling function
Subclasses can use it to select what queries they want to handle
and forward the rest to the default handling function.

API: gst_audio_decoder_sink_query_default

https://bugzilla.gnome.org/show_bug.cgi?id=753623
2015-08-14 13:41:58 -03:00
Sebastian Dröge ceab711589 Revert "win32 def: Remove video flags symbol that don't exist"
This reverts commit b20cc6a02a.

They are actually there in the autogenerated enum header/source file.
2015-07-09 17:20:55 +03:00
Nicolas Dufresne b20cc6a02a win32 def: Remove video flags symbol that don't exist
There has been a some refactoring and these symbols don't exist anynmore.
So remove it from the win32 def. This should fix distcheck.
2015-07-09 10:15:11 -04:00
Sebastian Dröge a1f8fb32cb video: Add some more GTypes for enums 2015-07-07 14:32:56 +03:00
Sebastian Dröge bf23f44239 docs: Add new symbols to the docs and .def files 2015-07-06 15:36:07 +03:00
Sebastian Dröge f10db521f3 Release 1.5.2 2015-06-24 23:24:01 +02:00
Nicolas Dufresne 836b19c597 video: Add missing new symbol to win32 def file
Fixes make distcheck
2015-06-18 18:23:45 -04:00
Matej Knopp dc7b254805 videoencoder: Add gst_video_encoder_set_min_pts()
For streams with reordered frames this can be used to ensure that there
is enough time to accomodate first DTS, which may be less than first PTS

https://bugzilla.gnome.org/show_bug.cgi?id=740575
2015-06-12 17:17:25 -04:00
Tim-Philipp Müller 5f23fae367 Update .def file for new API 2015-06-12 19:58:34 +01:00
Jan Schmidt 7c1da700c4 video: Add multiview/stereo support
Add flags and enums to support multiview signalling in
GstVideoInfo and GstVideoFrame, and the caps serialisation and
deserialisation.

videoencoder: Copy multiview settings from reference input state

Add gst_video_multiview_* support API and GstVideoMultiviewMeta meta

https://bugzilla.gnome.org/show_bug.cgi?id=611157
2015-06-11 12:05:00 +10:00
Edward Hervey 53c5112b90 win32: Update defs file 2015-06-10 09:59:49 +02:00
Jan Schmidt 8a77ef9398 Update win32 exports 2015-06-09 22:03:56 +10:00
Sebastian Dröge a2156638d5 Release 1.5.1 2015-06-07 10:04:41 +02:00
Sebastian Dröge bf5d3bf868 rtcpbuffer: Improve documentation of new functions a bit
Also actually add them to the documentation.
2015-06-05 10:18:21 +02:00
Edward Hervey 3be76663af win32: Update def file for new encoding API 2015-06-02 12:28:19 +02:00
Jan Schmidt d18aa5b741 video: Make gst_buffer_get_video_meta() a real function, Return lowest id
Instead of returning the first video meta found on a buffer, return the
one with the lowest id (which is usually the same thing, except on
multi-view buffers)
2015-05-30 01:11:47 +10:00
Sebastian Dröge ec21fa6dea win32: Update exports 2015-05-20 15:41:06 +03:00
Tim-Philipp Müller a5075a6ba8 win32: update .def file for new API 2015-05-19 19:48:54 +01:00
Mathieu Duponchelle 2e423dd129 discoverer: Add serialization methods.
[API] gst_discoverer_info_to_variant
[API] gst_discoverer_info_from_variant
[API] GstDiscovererSerializeFlags

+ Serializes as a GVariant
+ Adds a test
+ Does not serialize potential GstToc (s)

https://bugzilla.gnome.org/show_bug.cgi?id=748814
2015-05-19 18:48:07 +02:00
Jan Schmidt bf683b9a6c video: Update win32 exports for new libgstvideo API 2015-05-10 10:51:09 +10:00
Jan Schmidt 14fafc74a3 video-color: Add gst_video_colorimetry_is_equal()
Add a function for comparing the equality of 2 colorimetry
structures.
2015-05-04 13:16:27 +10:00
Tim-Philipp Müller 44e571c5e9 navigation: sprinkle some since markers and add new API to .def file
https://bugzilla.gnome.org/show_bug.cgi?id=747245
2015-04-29 15:30:26 +01:00
Wim Taymans b3db5883e1 video-info: expose InterlaceMode conversion to/from string
Expose the methods used to convert a GstVideoInterlaceMode to and
from a string.
2015-04-28 12:01:02 +02:00
Edward Hervey ebf8ea4ed9 win32: Update defs for new API 2015-04-17 11:45:34 +02:00
Wim Taymans c363ea5e48 defs: update 2015-03-19 13:31:21 +01:00
William Manley 7c10499ecd tcp: Add element socketsrc
`socketsrc` can be considered a source counterpart to `multisocketsink`.
It can be considered a generalization of `tcpclientsrc` and
`tcpserversrc`:  it contains all the logic required to communicate over
the socket but none of the logic for creating the sockets/establishing
the connection in the first place, allowing the user to accomplish this
externally in whatever manner they wish making it applicable to other
types of sockets besides TCP.

This commit essentially copies the implementation directly from
tcpserversrc.  Later patches will tidy the implementation up and
re-implement `tcpclientsrc` and `tcpserversrc` in terms of `socketsrc`.

See https://bugzilla.gnome.org/show_bug.cgi?id=739546
2015-03-13 20:05:00 +01:00
Tim-Philipp Müller 25abb5fd4d install-plugins: add new API to exports .def and to docs
https://bugzilla.gnome.org/show_bug.cgi?id=744465
2015-02-13 22:49:21 +00:00
Wim Taymans cdd86d025a video-scaler: add 2d scaler
Make a convenience function that combines 2 scalers to perform a 2d
scale. This removes quite a bit of overhead in method calls when doing a
typical scale and it also can reuse a piece of unused memory in the
vertical scaler.
Use the 2d scaler in video-converter and remove the other scalers and
temp memory.
2015-02-11 13:32:25 +01:00
Tim-Philipp Müller 9b4ea3f5dd rtspmessage: add API to add and get custom headers
Add API to add and get custom headers that are not
covered by our header fields enum. This is backwards
compatible in that it will also work for our defined
fields, so if we ever add a new header field to the
enum, get_header_by_name() for the same header string
will still work.

API: gst_rtsp_message_add_header_by_name()
API: gst_rtsp_message_take_header_by_name()
API: gst_rtsp_message_remove_header_by_name()
API: gst_rtsp_message_get_header_by_name()
2015-02-09 17:50:14 +00:00
Wim Taymans 3e576abc54 defs: update 2015-01-28 17:37:35 +01:00
Thiago Santos 36a99922e4 audiodecoder: expose getcaps virtual function
Allows subclasses to do custom caps query replies.

Also exposes the standard caps query handler so subclasses can just
extend on top of it instead of reimplementing the caps query proxying.
2014-12-17 19:15:24 -03:00
Thiago Santos 8085352fb3 videodecoder: expose getcaps virtual function
Allows subclasses to do custom caps query replies.

Also exposes the standard caps query handler so subclasses can just
extend on top of it instead of reimplementing the caps query proxying.

https://bugzilla.gnome.org/show_bug.cgi?id=741263
2014-12-17 19:15:23 -03:00
Wim Taymans 49611eb364 defs: update defs file 2014-12-02 15:23:04 +01:00
Thibault Saunier 72c05d1cbb encodebin: Add a way to disable caps renegotiation for output stream format
In some cases, the user might want the stream outputted by encodebin to
be in the exact same format during all the stream. We should let the
user specify when this is the case. This commit add some API in the
GstEncodingProfile to determine whether the format can be renegotiated
after the encoding started or not.

API:
    gst_encoding_profile_set_allow_dynamic_output
    gst_encoding_profile_get_allow_dynamic_output

https://bugzilla.gnome.org/show_bug.cgi?id=740214
2014-11-28 16:56:32 +01:00
Edward Hervey f87fc916f6 win32: Update defs file 2014-11-20 15:53:48 +01:00
Wim Taymans 3112335cd6 defs: update defs and docs 2014-11-11 16:19:03 +01:00
Tim-Philipp Müller 969c9bced6 Update libgstvideo.def for resampler -> video_resample renaming 2014-10-30 11:33:17 +00:00
Wim Taymans 90dca4b3dc defs: update defs 2014-10-29 17:14:51 +01:00
Wim Taymans 98c42dc5e4 video: convertor -> converter 2014-09-24 16:19:30 +02:00
Wim Taymans b2fd20c416 video: move videoconvert code to video library
Move the conversion code used in videoconvert to the video library
and expose a simple but generic API to do arbitrary conversion. It can
currently do colorspace conversion but the plan is to add videoscale to
it as well.

See https://bugzilla.gnome.org/show_bug.cgi?id=732415
2014-09-24 15:59:39 +02:00
Wim Taymans 0c40b83ed4 video-color: add gst_video_color_matrix_get_Kr_Kb()
Move the function to get the color matrix coefficients from
videoconvert to the video library.
2014-09-24 15:59:39 +02:00
Nicola Murino 617f72b526 appsrc: Add push_sample() convenience function for easy appsink -> appsrc use
https://bugzilla.gnome.org/show_bug.cgi?id=728379
2014-09-12 14:07:49 +03:00
Thiago Santos 568ef481c5 gstvideo: add missing entry to win32 .def
gst_video_guess_framerate
2014-08-14 17:22:08 -03:00
Sebastian Dröge f029448d54 Release 1.4.0 2014-07-19 17:04:57 +02:00
Sebastian Dröge 0c171fbef3 Release 1.3.91 2014-07-11 11:21:29 +02:00
Wim Taymans b108aad77b mikey: make message and payload mini-objects
Make the MIKEY message and payload objects miniobjects so that they have
a GType and are refcounted.
We can reuse the dispose method to clear our payload objects.
Add some annotations.
Implement a copy function for the MIKEY message.
Fix the unit test.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732589
2014-07-02 15:44:12 +02:00
Sebastian Dröge ae464e4704 Release 1.3.90 2014-06-28 11:20:44 +02:00
Sebastian Dröge 988f53ed18 Release 1.3.3 2014-06-22 18:07:57 +02:00
Sebastian Dröge 1917400691 Release 1.3.2 2014-05-21 13:06:34 +02:00
Luis de Bethencourt 35f25433f1 win32: Update defs file
commit 622007e7db added the function
gst_discoverer_info_get_missing_elements_installer_details (). It needs to be
added to the defs file.
2014-05-05 23:29:44 -04:00
Sebastian Dröge 68f5350c66 Release 1.3.1 2014-05-03 17:50:10 +02:00
Tim-Philipp Müller 740258acf6 win32: fix export files again
Revert unintended parts of d8a0927930
2014-04-29 10:59:02 +01:00
Christian Fredrik Kalager Schaller d8a0927930 Add mikey.h file 2014-04-29 11:39:18 +02:00
Wim Taymans 675d0400e1 mikey: Fix the KEMAC payload
The KEMAC payload actually needs to have subpayloads and the key should
go into the KEY_DATA subpayload. Add support for subpayloads and
implement the KEY_DATA payload.
Add some pointers to the conversion functions that allow us to add
encryption and decryption later.
2014-04-04 17:40:58 +02:00
Göran Jönsson a483e90955 rtspconnection: Added gst_rtsp_watch_set_flushing to list.
Added gst_rtsp_watch_set_flushing to list in file
libgstrtsp.def
2014-04-03 13:30:33 +02:00
Wim Taymans 83888d6b13 mikey: add MIKEY parsing helpers
MIKEY is defined in RFC 3830 and is used to exchange SRTP encryption
parameters between a sender and a receiver in a secure way.
This library implements a subset of the features, enough to implement
RFC 4567, using MIKEY in SDP and RTSP.
2014-03-24 17:12:52 +01:00
Göran Jönsson 0b30fdbfbe rtspconnection: gst_rtsp_watch_wait_backlog
New method that wait until there is room in backlog queue.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725898
2014-03-10 17:28:40 +01:00
Aleix Conchillo Flaqué e8d58b432e defs: update for new rtspconnection symbols 2014-02-20 20:06:37 +01:00
Sebastian Dröge 87829debe4 videodecoder: Add API to get the currently pending frame size for parsing
https://bugzilla.gnome.org/show_bug.cgi?id=719890
2014-01-18 13:54:22 +01:00
Tim-Philipp Müller 103bb93154 win32: add new API to .def file 2014-01-13 16:29:50 +00:00
Wim Taymans 2d98528af3 defs: update for new symbols 2014-01-07 15:01:14 +01:00
Stefan Sauer 28ce2c4053 riff: remove new parse_ncdt api again
This chunk is avi specific, no need to expose this as public api.
2014-01-05 21:39:52 +01:00
Stefan Sauer f1c233b625 win32: export new riff api 2014-01-04 22:30:33 +01:00
Sebastian Dröge 5acc099479 videodecoder: Add API to allow subclasses to specify that they needs caps before any buffers 2013-12-05 11:36:54 +01:00
Mark Nauwelaerts 5218956e8b videodecoder: add new API to docs and defs 2013-12-01 12:38:10 +01:00
Sebastian Dröge 4aafc3d39f rtspconnection: Add new API to the docs and .def file 2013-11-01 17:02:22 +01:00
Edward Hervey 99067e86e2 win32: Update defs file 2013-10-02 13:06:03 +02:00
Sreerenj Balachandran 9ffaaddcbe pbutils: Add codec-utility funtions to support H265
https://bugzilla.gnome.org/show_bug.cgi?id=708921
2013-10-02 11:37:39 +02:00
Sebastian Dröge 1867c079bf Release 1.2.0 2013-09-24 14:16:22 +02:00
Sebastian Dröge e729148b0c Release 1.1.90 2013-09-19 10:49:58 +02:00
Sebastian Dröge a13f44fb1e Release 1.1.4 2013-08-28 12:41:42 +02:00
Sebastian Dröge 48ecb46241 Release 1.1.3 2013-07-29 13:37:00 +02:00
Changbok Chea bdbfa45296 appsrc: Add "current-level-bytes" property
https://bugzilla.gnome.org/show_bug.cgi?id=704774
2013-07-26 11:03:08 +02:00
Vincent Penquerc'h ee088c6b3f codec-utils: add a gst_codec_utils_aac_get_index_from_sample_rate
It maps a sample rate to a well known AAC sample rate index.
2013-07-26 09:24:50 +01:00
Sebastian Dröge 95605a79c9 videometa: Add to the docs and make function names more consistent with others 2013-07-16 10:09:27 +02:00
Sebastian Dröge 96f686fc1f Release 1.1.2 2013-07-11 15:30:23 +02:00
Branko Subasic 71fa8f945b win32: add missing rtp buffer methods 2013-07-10 09:21:42 +02:00
Sebastian Dröge ff5d3313d4 Release 1.1.1 2013-06-05 18:31:27 +02:00
Sebastian Dröge 5065e76b1c audio: Add gst_audio_info_is_equal() 2013-05-30 23:56:52 +02:00
Wim Taymans 0b933ff87b rtsp: add method to get the TLS connection 2013-05-30 17:31:13 +02:00