Mark Nauwelaerts
5823dd4724
collectpads2: always recording incoming segment info if no buffer_func set
2012-04-17 12:23:48 +02:00
Vincent Penquerc'h
b642b87579
collectpads2: assume 0 based segment if no time segment was provided
...
https://bugzilla.gnome.org/show_bug.cgi?id=669305
2012-04-16 11:08:07 +02:00
Edward Hervey
df6d0b0696
baseparse: always attempt to push if not-linked
...
This avoids ending up with plenty of pending data (since we'll only
try to parse/push one frame from the incoming buffer).
Fixes increasing memory consumption when parsers aren't linked
2012-04-02 15:17:25 +02:00
Stefan Sauer
cc445664c8
docs: fix function name and typo
2012-03-12 23:08:45 +01:00
Tim-Philipp Müller
c683e39429
pads, collectpads2: get rid of superfluous brackets around static rec mutex calls
...
Makes it possible to define those calls to something for tracing.
2012-03-08 16:27:48 +00:00
Sebastian Dröge
ed7f480222
baseparse: Fix 'self-comparison always evaluates to true'
...
This was really a bug.
2012-03-06 12:28:02 +01:00
Sebastian Dröge
7c32cfd661
basetransform: Fix 'equality comparison with extraneous parentheses' compiler warning
2012-03-06 12:23:15 +01:00
Sebastian Dröge
495aca4905
baseparse: Fix handling of multiple newsegment events
...
Previously only the last would be pushed, which would cause
invalid running times downstream. This also fixes the handling
of update newsegment events.
2012-03-05 14:41:12 +01:00
Sebastian Dröge
563ba031a2
baseparse: Also flush the close_segment
...
Pushing this after flushing will confuse downstream.
2012-03-05 14:37:57 +01:00
Sebastian Dröge
747dfc09b2
baseparse: Remove obsolete code and move gap handling to the correct place
...
The segment start adjustment code in pull mode should never trigger
anymore because the bisection code earlier would have already made
sure that we're at the desired position.
Also move the gap handling some lines below after sending the currently
configured segments. Otherwise we might fill gaps in a segment that is
not configured downstream yet.
2012-03-05 14:23:17 +01:00
Sebastian Dröge
13930dad53
baseparse: Clear some more state when receiving FLUSH_STOP
...
Like pending serialized events and the currently cached buffer.
2012-03-05 13:12:18 +01:00
Sebastian Dröge
cd195f2143
baseparse: Only queue serialized events for sending them later
2012-03-05 13:01:14 +01:00
Stefan Sauer
9fd063e404
collectpads2: add more logging
2012-02-28 20:36:59 +01:00
Stefan Sauer
daa5cae78b
collectpads2: rescue the annotation from collectpads
2012-02-26 23:11:23 +01:00
Stefan Sauer
6045e0f58f
docs: fix a typo in comment
2012-02-26 23:10:58 +01:00
Stefan Sauer
b9a6b3fc6e
collectpads2: move "MT save" tags to doc body
...
It is not useful to have "MT safe" tags randomly in body, returns or since paragraphs.
2012-02-26 22:57:02 +01:00
Mark Nauwelaerts
c8ea9994aa
baseparse: fix reverse playback
...
... especially for all-keyframe (audio) cases.
2012-02-13 18:14:02 +01:00
Mark Nauwelaerts
954dd59fdd
baseparse: bitrate mechanics should not deal with duration update
...
... since that is already handled by _update_duration, or should not be done
altogether if the duration is determined by non-estimated means.
Fixes #669502 .
2012-02-10 14:47:00 +01:00
Sebastian Dröge
9945b2cd88
collectpads2: Move private fields from the public structs to private structs
...
Fixes bug #668764 .
2012-01-27 15:03:46 +01:00
Antoine Tremblay
df6de8fe0c
baseparse: clear adapter in reset so baseparse is reusable
...
GstBaseParse was not clearing its adapter on reset causing
problems when a pipeline went for example from PLAYING to NULL
state and then back to PLAYING again. The data from the last
stream would be used in the parser.
https://bugzilla.gnome.org/show_bug.cgi?id=667444
2012-01-12 19:53:11 +00:00
Havard Graff
bea0ed2fc1
basesink: don't compensate for render-delay twice
...
https://bugzilla.gnome.org/show_bug.cgi?id=667298
2012-01-05 18:04:22 +00:00
Mark Nauwelaerts
28e9d735bb
collectpads2: add convenience clipping function
...
... which also converts to running time; useful for typical muxer.
2011-12-19 17:45:25 +01:00
Mark Nauwelaerts
78565da18b
basetransform: do not delay sparse stream newsegment updates
2011-12-19 17:39:11 +01:00
Mark Nauwelaerts
b3886b7935
basetransform: suggestion compatible with upstream is not much of a suggestion
...
... in that upstream is already complying with that suggestion.
Fixes #666174 .
2011-12-19 12:34:51 +01:00
Mark Nauwelaerts
eb79c0a835
collectpads2: delay collecting buffer if a pad newly set waiting
...
... as commented; make code correspond to it (again).
2011-12-15 16:51:49 +01:00
Matej Knopp
f4040d3f6b
baseparse: Clear queued frames with other queues
2011-12-12 13:37:25 +01:00
Sebastian Dröge
a6bb6d0fc3
basetransform: Fix code path to come up with possible caps if incompatible caps are provided to buffer_alloc()
...
Previous code could almost never work and this should be slightly
better.
2011-12-08 18:11:43 +01:00
Sebastian Dröge
57573d8705
basetransform: Fall back to upstream provided caps if suggested caps are not supported by the sinkpad
2011-12-08 18:11:43 +01:00
Sebastian Dröge
aad7225eb5
basetransform: Fall back to upstream provided caps if fixation of suggested caps failed
2011-12-08 18:11:43 +01:00
Sebastian Dröge
26a1ac0ce7
basetransform: Refactor gst_base_transform_buffer_alloc() code
...
Don't check if upstream provided caps are compatible with upstream
and don't try to fixate these caps. They must be fixated in any case.
2011-12-08 18:11:42 +01:00
Vincent Penquerc'h
e7b3305f70
baseparse: do not use a byte value instead of a time value when bisecting
...
This fixes FLAC seeking on some FLAC files.
2011-12-07 17:57:49 +00:00
Sebastian Dröge
7fb67e9d6f
basetransform: If suggested caps are not compatible with upstream try to come up with compatible caps
...
Fixes bug #662199 .
2011-12-07 09:51:42 +01:00
Tim-Philipp Müller
2666450864
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
2011-12-04 14:38:26 +00:00
Tim-Philipp Müller
5889260d5a
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
2011-12-04 13:35:38 +00:00
Sebastian Dröge
e6d2da7cf8
basetransform: Always intersect the suggested sink caps with the peer caps
...
This makes sure that we get correct and complete caps. The suggested caps
could be incomplete, e.g. video/x-raw-rgb without any fields, and by
intersecting with the peer caps we get something usable.
Fixes bug #662199 .
2011-11-30 14:01:22 +01:00
Tim-Philipp Müller
4d2cb74850
libs: sprinkle some G_GNUC_MALLOC
...
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
2011-11-26 18:58:38 +00:00
Sebastian Dröge
aa9ba2dd4e
baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented
...
Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
parsers because it will propagate the other side's fields like "parsed"
and "framed" and also breaks parser/converters.
Fixes bug #664221 .
2011-11-23 13:42:56 +01:00
Tim-Philipp Müller
16dcd5e958
docs: fix Since: markers for API added after 0.10.35
2011-11-08 00:32:36 +00:00
Sjoerd Simons
e97eeb5cd4
basetransform: Only use the cached transform on strictly equal caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=663333
2011-11-04 17:49:55 +00:00
Tim-Philipp Müller
2a4fca230f
collectpads2: use flags enum instead of guint in structure
2011-11-03 22:51:57 +00:00
Tim-Philipp Müller
cf69ce1df6
adapter: simplify gst_adapter_take_list()
...
Use a stack-allocated GQueue to assemble our GList.
2011-11-01 14:17:21 +00:00
Sjoerd Simons
1aa5b76a6f
basetransform: Also fush the cache when changing the upstream caps suggestion
2011-10-28 11:53:32 +02:00
Sjoerd Simons
383d637f85
basetransform: Add debug output when returning a cached transform
2011-10-28 11:50:23 +02:00
Sebastian Dröge
1eb3380973
collectpads2: Fix refcount handling if a buffer was dropped due to clipping
2011-10-28 10:54:19 +02:00
Sebastian Dröge
2f100e86f6
collectpads2: Merge the clip and prepare_buffer function into one
2011-10-28 10:38:24 +02:00
Sebastian Dröge
415f3dd808
collectpads2: Merge clipping API from old collectpads
2011-10-28 10:38:24 +02:00
Tim-Philipp Müller
ab2d45283e
basesink: make default query function name show up in gst-inspect
2011-10-28 09:28:14 +01:00
Mark Nauwelaerts
ce88f417b1
collectpads2: avoid hanging in case of sparse newsegment events
...
... in the extent that a non-waiting pad (so indicated by newsegment)
turns out to provide the best buffer, which is then forced to waiting
for book-keeping purposes, but that should only be temporary.
See bug #415754 .
2011-10-28 09:39:00 +02:00
Sebastian Dröge
2a13275985
collectpads2: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-10-28 09:38:35 +02:00
Sebastian Dröge
6f231f89d6
base: Add collectpads2
...
This handles muxing of sparse/subtitle streams and has
lots of cleanup. Still missing is special support for
live streams but this can be added later without breaking
API/ABI.
Based on the version from the videomixer plugin.
https://bugzilla.gnome.org/show_bug.cgi?id=415754
2011-10-28 09:36:06 +02:00