Commit graph

3523 commits

Author SHA1 Message Date
David Schleef
31312d586e videodecoder: Don't blindly assign DTS to PTS
DTS and PTS usually have a non-zero offset between them in MPEG-TS,
so assigning DTS to PTS is almost always wrong.  The other, newer
timestamp recovery code does it correctly if we leave it as invalid.
2013-02-11 11:57:08 -08:00
David Schleef
ceb6585d26 videodecoder: warn if frame list gets long
Decoders that get unparsed input are internally leaking nearly
every incoming buffer.  This checks that case.
2013-02-11 11:56:14 -08:00
Tim-Philipp Müller
dce49a1a7e video: fix return type of _get_palette() and add since markers to docs
'const gpointer' is not the same as 'gconstpointer', see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35928.
2013-02-06 12:43:51 +00:00
Wim Taymans
ed6e7776f3 appsrc: negotiate before popping buffer
First negotiate and then try to pop a buffer from the queue. This is just
to improve the debug log.
2013-02-06 10:07:47 +01:00
Wim Taymans
d4ed3ddf6f appsrc: always take mutex before object lock
The locking order is to first take the appsrc mutex and then the
object lock.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693224
2013-02-06 10:00:27 +01:00
Wim Taymans
c1a25d2ce7 video-format: fix interlaced 4:2:0 and 4:1:0 pack/unpack
For interlaced vertically subsampled images we need to combine alternating
chroma lines with alternating luma lines. That is line 0 and 2 are combined
with the first line of chroma samples and line 1 and 3 with the second line
of chroma samples.

See also: https://bugzilla.gnome.org/show_bug.cgi?id=588535
2013-02-04 15:06:10 +01:00
Wim Taymans
cb7a7cd05c video-format: add method to get palette
Make a new method to get the default palette for paletted formats.
2013-02-04 15:06:07 +01:00
Wim Taymans
e303b0ad33 video-format: add interlace flag
Add an interlaced flag that can be used to control the unpack/pack
functions.
2013-02-04 15:05:59 +01:00
Wim Taymans
d094ac49cc riff: add more gray8 variants 2013-01-31 12:57:11 +01:00
Dirk Van Haerenborgh
a81089614b riff: add support for raw monochrome 8-bit video
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692930
2013-01-31 12:56:16 +01:00
Tim-Philipp Müller
664adc6e19 gst-libs: use GST_*_1_0 environment variables everywhere
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
2013-01-16 10:16:27 +00:00
Tim-Philipp Müller
98c81089d1 pbutils: add description for SBC audio caps 2013-01-15 17:33:38 +00:00
Pete Beardmore
569f3a29ab riff: add waveformatextension generic support
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690591
2013-01-14 16:49:15 +01:00
Tim-Philipp Müller
776bae5b84 docs: fix 0.10-ism in GstTagImageType docs
The image type is not in the info structure in the sample,
not in the caps.

https://bugzilla.gnome.org/show_bug.cgi?id=691687
2013-01-14 11:12:03 +00:00
Nicolas Dufresne
7107e97273 videoencoder: Remove done ToDo
https://bugzilla.gnome.org/show_bug.cgi?id=675761
2012-12-31 19:09:01 +00:00
Nicolas Dufresne
8a233a215d videoencoder: Documentation fix
https://bugzilla.gnome.org/show_bug.cgi?id=675761
2012-12-31 19:03:29 +00:00
Tim-Philipp Müller
b4def63f55 audio: don't use uninitialized variable in debug log
https://bugzilla.gnome.org/show_bug.cgi?id=667317
2012-12-29 14:29:53 +00:00
Tim-Philipp Müller
a3c6d0da91 encoding-profile: add special-casing for asf/wmv/wma file extensions
https://bugzilla.gnome.org/show_bug.cgi?id=636753
2012-12-23 15:51:51 +00:00
Tim-Philipp Müller
42f971c5eb encoding-profile: add gst_encoding_profile_get_file_extension()
API: gst_encoding_profile_get_file_extension()

https://bugzilla.gnome.org/show_bug.cgi?id=636753
2012-12-23 15:26:59 +00:00
Tim-Philipp Müller
df186d5240 video: fix A420 size calculation 2012-12-22 21:04:11 +00:00
Wim Taymans
ca456ec6f9 riff: add channel masks for all formats
Add the channel masks for all the extensible formats
Pass the number of channels instead of reading them from caps.
2012-12-21 14:03:32 +01:00
Pete Beardmore
d2c68e602d riff: add waveformatextension ac3 support
fixes #690591
2012-12-21 13:28:41 +01:00
Wim Taymans
fe93457191 audioclock: mark as using some other clock
We need to mark our clock as using some other clock source. Alsa source uses the
clock type to decide if it can use alsa driver timestamps or not.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690465
2012-12-20 16:48:04 +01:00
Wim Taymans
5e04fcd2ef audiobasesrc: init variable
We need to initialize this variable because we can't be sure that the subclass
will set it.
2012-12-20 16:47:56 +01:00
Thijs Vermeir
675562d362 video: use appropriate printf format for gsize 2012-12-18 15:31:52 +01:00
Thijs Vermeir
2887485358 rtp: fix compiler warning
comparison is always true due to limited range of data type
2012-12-18 15:27:48 +01:00
Tim-Philipp Müller
68f366a8d3 audiobasesrc: bail out if subclass posts an error
Use new ringbuffer ERROR state to make all the various
threads bail out correctly when the subclass posts an
error. It's a bit iffy to communicate this properly
between the different bits of code.

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-17 20:50:32 +00:00
Tim-Philipp Müller
4f49c7a33b audioringbuffer: add GST_AUDIO_RING_BUFFER_STATE_ERROR state
API: GST_AUDIO_RING_BUFFER_STATE_ERROR

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-17 20:50:32 +00:00
Thibault Saunier
e79f0e801e encodebing: Use the preset_name as the factory name and preset as the name of the preset
The naming is not perfect, but at least we can keep the exact same behaviour as
before.
2012-12-17 10:12:11 -03:00
Thiago Santos
929edc2572 audiobasesrc: Always resync the ringbuffer on the first buffer
In SKEW mode, use next_sample == -1 to check for the first sample
when starting to read samples so it resyncs the ringbuffer and
timestamps are ok.

Suggestion from Teemu Katajisto <teemu.katajisto@digia.com>

https://bugzilla.gnome.org/show_bug.cgi?id=648359
2012-12-17 11:47:34 +01:00
Tim-Philipp Müller
3f583351d4 pbutils: add some more flags and file extensions to internal media type descriptions table
For later use.

https://bugzilla.gnome.org/show_bug.cgi?id=636753
https://bugzilla.gnome.org/show_bug.cgi?id=549111
2012-12-15 14:08:26 +00:00
Wim Taymans
65c5ecd270 rtspconnection: add limit to queued messages
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()
2012-12-14 11:36:58 +01:00
Sebastian Dröge
3f82e919dd libs: Use foo/foo.h as single-include header consistently everywhere
https://bugzilla.gnome.org/show_bug.cgi?id=688785
2012-12-12 17:13:10 +00:00
Tim-Philipp Müller
e05abf0ef1 docs: fix up some more GstXOverlay -> GstVideoOverlay
https://bugzilla.gnome.org/show_bug.cgi?id=689740
2012-12-10 13:40:26 +00:00
Sebastian Dröge
0bb5c6c012 videodecoder: Only keep track of timestamps if the subclass is parsing data
Otherwise we just pass through the timestamps directly and don't
need to waste additional memory for them.

Fixes bug #689814.
2012-12-10 11:51:02 +00:00
Sebastian Rasmussen
d4b6f3c1a0 rtspmessage: Add several missing g-i annotations
https://bugzilla.gnome.org/show_bug.cgi?id=689873
2012-12-10 10:58:12 +01:00
Thibault Saunier
7358cba017 encodebin: Make use of the new preset_name when setting a preset
The behaviour is sensibly changed here. Instead of purely falling when a
preset is set on the #GstEncodingProfile, we now make sure that the
element that is plugged corresponds to the one specified as preset. Then,
if we have a preset_name, we use it, if it fails, we fail (we might rather
just keep working even without setting the element properties?)

 + Add tests that it behave correctly
2012-12-05 17:48:38 -03:00
Thibault Saunier
6a7f688939 encoding-profile: Let the user decide what preset name to use
It was possible to decide only what #GstElement implementing #GstPreset
to use during the encoding, we can now let the user select a specific preset previously
saved using #gst_preset_save_preset specifying the name chosen when it was saved
in the gst_encoding_profile_set_preset_name.

Actually loading a preset with %NULL as a name would have always failed, so
in the current state of the API that feature is unusable

API:
  gst_encoding_profile_set_preset_name
  gst_encoding_profile_get_preset_name
2012-12-05 17:36:21 -03:00
Thiago Santos
26d72a73f5 pbutils: encoding-profile: fix _new function introspection docs
Makes the parameter accept NULL as input for GI bindings
2012-12-04 13:19:26 -03:00
Tim-Philipp Müller
fbff6c6fb1 audioencoder: add some more debug info and remove obsolete comment 2012-12-02 12:33:43 +00:00
Wim Taymans
b511f938d4 rtsp: add method to parse options list 2012-11-27 11:15:34 +01:00
Tim-Philipp Müller
8827437b61 audio: remove bogus Since marker from docs
It was causing perl warnings in gtk-doc code.
2012-11-21 23:19:14 +00:00
Tim-Philipp Müller
020eb24dcf app: fix g-i annotation for gst_app_src_push_buffer()
It takes ownership of the buffer.
2012-11-21 21:53:13 +00:00
Wim Taymans
ce904ec551 rtsprange: add string conversion for new formats 2012-11-21 16:25:24 +01:00
Wim Taymans
fdf904db32 rtsprange: add method to convert ranges to GstClockTime
Add a method to convert the values of GstRTSPRange to GstClockTime.
Add unit tests for the conversions.

API: gst_rtsp_range_get_times()
2012-11-21 15:35:46 +01:00
Wim Taymans
f1669d7d9c range: don't overwrite unit field 2012-11-21 15:29:05 +01:00
Wim Taymans
0bf50cd3d8 range: add g_return_if check 2012-11-21 15:29:05 +01:00
Sebastian Dröge
7af386fdaf libs: Fix last commit by using correct include paths and only include existing headers 2012-11-21 11:12:57 +01:00
Evan Nemerson
4d77fba46c libs: Add missing single include headers and use them in GIRs 2012-11-21 11:01:24 +01:00
Wim Taymans
a87cd40f49 rtsprange: improve docs 2012-11-21 10:25:51 +01:00
Sebastian Dröge
15ee41dfc9 discoverer: Add support for getting the stream-id
https://bugzilla.gnome.org/show_bug.cgi?id=654830
2012-11-20 14:57:42 +01:00
Sebastian Dröge
e223e313b6 discoverer: Use switch/case instead of lots of ifs for the event handling 2012-11-20 14:37:51 +01:00
Sebastian Dröge
1990c45b60 videodecoder: Return the proportion directly 2012-11-20 12:21:08 +01:00
Sebastian Dröge
6228872df7 videodecoder: Rename from get_qos_info() to get_qos_proportion()
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.
2012-11-20 12:08:26 +01:00
Wim Taymans
b785c66098 rtsp: avoid ABI break
Move new fields into structures appended at the end of the GstRTSPRange
to avoid ABI break.
2012-11-20 11:13:01 +01:00
Alessandro Decina
9042efd458 pbutils: fix transfer annotation for gst_encoding_profile_set_restriction 2012-11-20 07:17:53 +01:00
Andoni Morales Alastruey
5f55ea1ef3 videodecoder: add getter for QoS proportion and earliest_time
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
2012-11-19 23:57:43 +00:00
Wim Taymans
41d36b2584 rtsp: fix format string 2012-11-19 17:08:38 +01:00
Wim Taymans
fe4b415f98 rtsp: parse UTC ranges 2012-11-19 16:59:48 +01:00
Wim Taymans
b113f9697a rtsp: parse SMPTE ranges 2012-11-19 16:15:46 +01:00
Wim Taymans
02a5940a45 range: handle parse errors better 2012-11-19 16:13:56 +01:00
Wim Taymans
84b1ee4987 rtsp: detect npt time parse errors 2012-11-19 16:04:01 +01:00
Wim Taymans
25580430b0 range: a single - is not allowed 2012-11-19 13:56:53 +01:00
Wim Taymans
db7ea32f35 range: handle ranges starting with -
An RTSP range that starts with a - means that the first value of the range is
the end of the stream.
2012-11-19 13:56:53 +01:00
Tim-Philipp Müller
71e46b2478 gst_adapter_prev_timestamp -> gst_adapter_prev_pts
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-14 00:03:15 +00:00
Wim Taymans
7de757a0d4 video-format: fix plane offsets for GBR formats
Also make some macros to get to the R/G/B planes
Remove unused stride macros.
2012-11-13 16:22:12 +01:00
Wim Taymans
6313e5f1af rtspconnection: improve docs 2012-11-12 14:18:00 +01:00
Tim-Philipp Müller
2ea57f30d6 pbutils: add description for Opus audio codec
https://bugzilla.gnome.org/show_bug.cgi?id=688151
2012-11-12 12:57:35 +00:00
Sebastian Dröge
32139f9a3d audio: Use new GType for GThread instead of just G_TYPE_POINTER 2012-11-12 11:45:47 +01:00
Wim Taymans
af3f75f3a9 rtpbuffer: protect against empty buffers 2012-11-12 11:18:16 +01:00
Sebastian Dröge
1ebeac9a22 video: Add GBR/GBR_10LE/GBR_10BE color formats
Planar RGB color format used by h264
2012-11-10 22:24:08 +01:00
Sebastian Dröge
b83e67dd5a video: Add Y444_10{LE,BE} video formats 2012-11-10 22:24:08 +01:00
Ognyan Tonchev
f67c6a768b rtsp: fix g-i annotation for gst_rtsp_message_set_body(), take_body() and take_header()
https://bugzilla.gnome.org/show_bug.cgi?id=687620
2012-11-09 21:24:12 +00:00
Sebastian Dröge
d209727644 audiodecoder: Reset error count to 0 after successfully decoding a frame 2012-11-09 16:48:54 +01:00
Sebastian Dröge
d697dd6d39 videodecoder: Reset the error count to 0 after successfully decoding a frame 2012-11-09 16:47:37 +01:00
Tim-Philipp Müller
377c806685 video: don't crash when blending onto video formats that unpack to 64 bits per pixel
We only allocate 8 bits per component for our temp buffers, which
causes invalid memory accesses if we try to unpack formats that
unpack into a format with 16 bits per component such as e.g. v210.

We don't support blending onto those yet, so just bail out.
2012-11-07 11:17:14 +00:00
Wim Taymans
4463df5b0d rtp: fix ntp56 parsing 2012-11-06 09:18:54 +01:00
Wim Taymans
82d327fb91 rtp: add helpers for header extensions
Add helpers and defines for the NTP-64 and NTP-56 header extensions.
2012-11-06 09:18:54 +01:00
Ognyan Tonchev
6318a4602a rtsp: fix GstRTSPMessage g-i annotations for out parameters
https://bugzilla.gnome.org/show_bug.cgi?id=687620
2012-11-05 13:21:39 +00:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Miguel Angel Cabrera Moya
244fdcc69a audiobasesink: use the same type as the internal type to return it
https://bugzilla.gnome.org/show_bug.cgi?id=687466
2012-11-02 19:52:38 +00:00
Miguel Angel Cabrera Moya
2d8edb1e86 video-blend: fix memory leak when called with invalid parameters
https://bugzilla.gnome.org/show_bug.cgi?id=687472
2012-11-02 19:37:26 +00:00
Miguel Angel Cabrera Moya
4b083d608e rtspconnection: remove extra return and fix GError leak
https://bugzilla.gnome.org/show_bug.cgi?id=687473
2012-11-02 19:30:23 +00:00
Ognyan Tonchev
ff04a1b4c6 rtspconnection: fix g-i annotations for out parameters
https://bugzilla.gnome.org/show_bug.cgi?id=687421
2012-11-02 12:43:52 +00:00
Wim Taymans
5f44303925 audioringbuffer: reset spec on _release
Reset the caps and the audioinfo when releasing the ringbuffer.
Fixed a bug with reusing pulsesink.
2012-10-30 10:33:04 +00:00
Miguel Angel Cabrera Moya
b1318c86e8 rtpbasedepay: remove unused variable
https://bugzilla.gnome.org/show_bug.cgi?id=687146
2012-10-29 21:20:35 +00:00
Tim-Philipp Müller
5f45069624 pbutils: fix g-i search path for GstBase-1.0.gir
Fixes: Couldn't find include 'GstBase-1.0.gir' build error.
2012-10-29 13:10:15 +00:00
Tim-Philipp Müller
a4f2df6341 Revert "g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X"
This reverts commit e39fbe6b7e.

Looks like we need to pass the full .la file after all in a setup
with libtool, or it might not find the library, e.g. like

  ERROR: can't resolve libraries to shared libraries: gstfft-1.0

Conflicts:
	gst-libs/gst/audio/Makefile.am
	gst-libs/gst/pbutils/Makefile.am

Also see https://bugzilla.gnome.org/show_bug.cgi?id=603710
2012-10-29 12:47:05 +00:00
Sreerenj Balachandran
f816f94995 videodecoder: fix inappropriate compiler optimization hint macro usage
https://bugzilla.gnome.org/show_bug.cgi?id=679456
2012-10-28 23:09:36 +00:00
Miguel Angel Cabrera Moya
e921b5b0f3 exiftag: fix use after free and memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=687055
2012-10-28 20:19:56 +00:00
Miguel Angel Cabrera Moya
51c4e51d9c vorbistag: fix memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=687057
2012-10-28 20:16:06 +00:00
Tim-Philipp Müller
973f4f09ea audio: try harder to make g-i use the build-tree libgsttag
without adding additional --library= tags, which shouldn't be there.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:59:27 +00:00
Tim-Philipp Müller
9453d7c287 pbutils: try harder to make g-i use the build-tree libgsttag,-audio, and -video
without adding additional --library= tags, which shouldn't be there.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:59:08 +00:00
Tim-Philipp Müller
e39fbe6b7e g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X
As it should be according to the man page.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:35:57 +00:00
Tim-Philipp Müller
26b88987ee pbutils: add caps description for Apple ProRes video 2012-10-25 17:16:58 +01:00
Ognyan Tonchev
6e5ea441e7 rtsp: Don't use invalid sockets
return false from dispatch () if the read and write sockets have been
unset in tunnel_complete ()

Setting up HTTP tunnels causes segfaults since the watch for the second
connection is not destroyed anymore in tunnel_complete () and the connection
will still be used even though it is not valid anymore.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686276
2012-10-25 17:59:47 +02:00
Tim-Philipp Müller
883dc41848 pbutils: fix installer detail string version number
Should still be '1.0' not '1.1'. Fixs pbutils unit test.
2012-10-25 14:41:22 +01:00
Mark Nauwelaerts
45d802b63f audiodecoder: track forced decoding state 2012-10-24 14:46:22 +02:00
Sebastian Dröge
3c1041d5eb Revert "gst: Add better support for static plugins"
This reverts commit d2d79e3bc2,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
d2d79e3bc2 gst: Add better support for static plugins 2012-10-24 12:10:44 +02:00
Sebastian Dröge
1813701ef2 audiobasesink: Add explanation to the GAP event handling code 2012-10-24 11:22:29 +02:00
Sebastian Dröge
b793d0bfae audiobasesink: Properly handle GAP events
These are now converted into silence buffers if they have
a duration or cause the ringbuffer and clock to be started
if they don't have a duration.

Fixes bug #685273.
2012-10-24 11:19:05 +02:00
Tim-Philipp Müller
60f93735c0 vorbistag: add mapping for 'ALBUM ARTIST' with space
As found in sample file for bug #684701.
2012-10-23 15:56:10 +01:00
Wim Taymans
3787b6d05e riff: add bpp to caps for msvideo
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686298
2012-10-22 10:30:16 +02:00
Tim-Philipp Müller
eb48b4d3cb tag: remove unnecessary g_type_init() call from mklicensestable tool
https://bugzilla.gnome.org/show_bug.cgi?id=686456
2012-10-20 12:59:11 +01:00
Tim-Philipp Müller
277ca04976 audiodecoder: don't leak message strings when error is not fatal
https://bugzilla.gnome.org/show_bug.cgi?id=681192
2012-10-20 11:38:10 +01:00
Tim-Philipp Müller
6c0c3eb967 videodecoder: don't leak message strings when error is not fatal 2012-10-20 11:37:33 +01:00
Thiago Santos
b57d3252ec vorbistag: fix 'TODO' on image tag parsing
Image tag now uses GstSample that has the buffer and caps
associated with it.
2012-10-18 17:50:41 -03:00
Tim-Philipp Müller
3ee2ad255b audiocdsrc: mention TOCs in docs 2012-10-17 19:59:57 +01:00
Tim-Philipp Müller
224fb90469 theora, app: use gst_element_class_set_static_metadata()
Avoids string copies.
2012-10-17 16:54:14 +01:00
Tim-Philipp Müller
efff57d497 videodecoder: return NULL from _allocate_output_buffer() if alloc fails
.. instead of garbage pointer. Also log failure in debug log.
Should've returned the flow return like _allocate_output_frame().

https://bugzilla.gnome.org/show_bug.cgi?id=683098
2012-10-17 10:55:01 +01:00
Tim-Philipp Müller
4834e11da0 riff-media: fix palette extraction some more
We still need to make sure the palette is always at least 1024
bytes.
2012-10-16 11:48:32 +01:00
Tim-Philipp Müller
b0d581eadc riff: create palette_data buffer correctly
gst_buffer_copy_into() will append to any existing
memory region, so don't create a buffer and alloc
some memory, but just create an empty buffer and
let _copy_into() append the memory we want. Fixes
the palette being 2048 bytes with the first half
being filled with garbage.

https://bugzilla.gnome.org/show_bug.cgi?id=686046
2012-10-16 00:55:56 +01:00
Mark Nauwelaerts
162433795a audio: properly handle clipping of empty buffer 2012-10-15 18:48:01 +02:00
Tim-Philipp Müller
336842d35c rtsprange: fix formatting and parsing of range floating-point values
Other locales might use a comma instead of a floating point
for floats, which might lead to parsing errors.

https://bugzilla.gnome.org/show_bug.cgi?id=684411
2012-10-13 00:19:54 +01:00
Tim-Philipp Müller
b772d5d271 riff: 8-bit paletted video is format RGB8P, not RGB8_PALETTED
https://bugzilla.gnome.org/show_bug.cgi?id=686046
2012-10-12 21:31:25 +01:00
Josep Torra
d8d9f0db97 audiodecoder: set of base_ts for segment formats other than time
Fixes setting of converted segment start as base_ts when estimate rate
is allowed.
2012-10-11 13:17:01 +02:00
Sebastian Dröge
e779002cfd audiodecoder: Don't unref caps twice
Thanks to Josep Torra for noticing.
2012-10-10 15:50:31 +02:00
Mark Nauwelaerts
706498cb6e videodecoder: finetune missing timestamp estimating
Monitor for reordered output timestamps, and then avoid oldest DTS
as PTS approach, and try for an oldest PTS as out PTS approach,
if at least all valid PTS available.

Avoids bogus estimating upon sparse available input PTS, and tries
to handle all-keyframe input, or input PTS which are actually DTS.
2012-10-10 15:04:10 +02:00
Wim Taymans
3591df23b1 docs: playbin2 -> playbin 2012-10-09 12:20:10 +02:00
Andoni Morales Alastruey
8a5cf5ef4d audio/video: update documentation for vfunc's that require chaining up 2012-10-08 13:04:02 +02:00
Wim Taymans
c1d67d9bd6 video: small docs fix 2012-10-08 09:21:16 +02:00
Tim-Philipp Müller
cdb22274e6 audioencoder: make stop() vfunc also optional
Just change default value, since we also don't want to fail
if we want to deactivate and aren't active or want to activate
and are already active.

https://bugzilla.gnome.org/show_bug.cgi?id=685490
2012-10-04 13:40:32 +01:00
Andoni Morales Alastruey
795d366a0c audioencoder: don't fail if the start vfunc is not implemented
Fix behaviour to match documentation and decoder class behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=685490
2012-10-04 13:14:10 +01:00
Michael Smith
92560517e8 Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base 2012-10-03 10:45:26 -07:00
Michael Smith
a29c4f9489 meta registration: use g_once functions to register these threadsafely. 2012-10-03 10:44:59 -07:00
Sebastian Dröge
9d59b789c7 videodecoder: Fix unused variable compiler warning if debugging is disabled 2012-10-02 09:29:49 +02:00
Sebastian Pölsterl
e8fed7f04b rtsp: mark url argument of gst_rtsp_url_parse() as out arg
https://bugzilla.gnome.org/show_bug.cgi?id=685242
2012-10-01 22:36:06 +01:00
Olivier Crête
531a5af30c videodecoder: Also use the object lock to protect the output_state
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
2012-10-01 14:43:29 -04:00
Tim-Philipp Müller
80e45be3d0 appsrc: fix max-latency property getter
Was returning the min-latency value.
2012-09-29 21:42:46 +01:00
Mark Nauwelaerts
4adfff03ef video{de,en}coder: fix missing timestamp estimating
... by having some more timestamp tracking in a private frame field.
Not doing so would lead to (a.o.) losing the needed minimum timestamp in
an earlier sent frame.
2012-09-28 13:59:24 +02:00
Mark Nauwelaerts
dc2f2c9a40 videodecoder: use oldest frame DTS to estimate missing outgoing PTS 2012-09-27 11:31:34 +02:00
Mark Nauwelaerts
dbc89e3ab6 videoencoder: use oldest frame PTS to estimate missing outgoing DTS 2012-09-26 16:32:37 +02:00
Mark Nauwelaerts
d247301aec videoencoder: incoming buffer DTS is irrelevant
... and bogus anyway if PTS != DTS
2012-09-26 16:32:37 +02:00
Mark Nauwelaerts
6973a66813 videoencoder: clip input buffers to current input segment
... rather than to output segment, which will only be set
to current input segment if some output is produced
(coming from non-clipped input).

Also fixup debug message.
2012-09-25 17:19:15 +02:00
Tim-Philipp Müller
62c111f1e4 videodecoder: don't take STREAM_LOCK on upstream events
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
2012-09-24 10:56:35 +01:00
Sebastian Dröge
1e8f5a0b06 videodecoder: Update comments about forwarding/not-forwarding serialized events immediately 2012-09-20 10:04:30 +02:00
Olivier Crête
ebae8ffa71 videodecoder: Protect all accesses to priv->output_frame with the stream lock
Fixes segfault as queries/events can happen after a reset
2012-09-19 21:16:01 -04:00
Arun Raghavan
9f9718715a audio: Explicitly specify endianness for IEC 61937 payloading
This is required since some systems (DirectSound and OS X) manage the
final byte order themselves.

https://bugzilla.gnome.org/show_bug.cgi?id=678021
2012-09-19 09:15:16 +05:30
Tim-Philipp Müller
5e0dfec62c Remove -DGST_USE_UNSTABLE_API 2012-09-17 16:05:37 +01:00
Mark Nauwelaerts
c629a44162 replace gst_tag_list_free with gst_tag_list_unref 2012-09-14 17:53:21 +02:00
Mark Nauwelaerts
f7c247b6a3 replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:02:59 +02:00
Wim Taymans
a57198a0ba audio: improve property description
Improve the description of the latency-time and buffer-time properties in the
audio sink and source.
2012-09-14 16:08:50 +02:00
Sebastian Dröge
6e33f2d464 audiodecoder: Don't output an (unreffed) buffer in error cases 2012-09-14 14:54:22 +02:00
Wim Taymans
24bab1e5a8 fix for appsink GstFlowReturn 2012-09-14 13:39:20 +02:00
Wim Taymans
e46b45b0b8 appsink: add GstFlowReturn from signal handler
Expect a GstFlowReturn from the signal handler, just like from the callback.
Also use the return value.
2012-09-14 13:31:36 +02:00
Tim-Philipp Müller
f7c6aa5abd Release 0.11.94 2012-09-14 02:47:54 +01:00
Olivier Crête
b35bc51ed6 audio: Fix annotations 2012-09-13 17:11:56 -04:00
Jan Schmidt
6159817c95 videodecoder: Handle GAP events
Drain out the decoder when encountering a gap. Needed for DVD 'still'
sequences which consist of a single video frame, and a large gap
while audio plays.
2012-09-12 23:07:29 -07:00
Jan Schmidt
52cfce851a Fix still-frame handling.
Still frame events are not OOB downstream. Also, always send
immediately downstream.
2012-09-12 23:07:28 -07:00