Commit graph

10164 commits

Author SHA1 Message Date
Thiago Santos 912800fb76 camerabin2: imagecapturebin: Fix tags merging mode
Use merge replace mode to allow new tags to override old ones
and fix the use case where the last sent tags should be serialized
to the captured images.
2011-05-16 18:08:39 -03:00
Thiago Santos dfdc6255f8 camerabin2: Fix tag handling for videos
In video mode the tags should be pushed after sending the start capture
to the source, this allows the video recording elements to be reset
and leave the flushing state they were at after a previous capture.

This fixes the problem where tags only work for the first video capture
2011-05-16 18:08:39 -03:00
Thiago Santos ba9c1f055f tests: camerabin2: Fix set but unused variable warnings 2011-05-16 18:08:39 -03:00
Thiago Santos 0556d121c4 tests: camerabin2: Fix tags setting tests
Fixes the tags setting tests to reveal a bug in camerabin2
tag setting logic.
2011-05-16 18:08:39 -03:00
Thiago Santos d8484f8279 camerabin2: Adding camera source documentation file
Adds a small text file with a brief description of
what is expected from a camerabin2 source element
2011-05-16 18:08:39 -03:00
Lauri Lehtinen c86d662b23 basecamerabinsrc: Handle errors from preview pipeline
Implements a message handling function to preview pipeline bus.
If GST_MESSAGE_ERROR is seen, considers preview pipeline unable
to do its job and posts an error message to application.

Sets pipeline element to NULL so that subsequent calls to post_preview
and set_caps functions just returns without pushing anything to the
disposed preview pipeline. Leaves further actions to the application.
2011-05-16 18:08:39 -03:00
Lauri Lehtinen 802028081c basecamerabinsrc: Protection for previewpipeline when setting new preview caps
Implements a state indicating flag to preview pipeline,
so that new caps are not set if the pipeline is processing a
preview. The caps are set as pending and applied when the
next preview post is called.

In this case a wait was implemented in the post_preview function,
so that new preview image buffer will wait until the other previews
have been posted to the application and the new caps can be used
safely.
2011-05-16 18:08:39 -03:00
Thiago Santos aa4df686eb examples: camerabin2: Fix compile problem with debug disabled 2011-05-16 18:08:39 -03:00
Thiago Santos 7fd638bd0d camerabin2: viewfinderbin: Post missing plugin messages
Makes viewfinderbin post missing plugin messages when it
can't create an internal elements
2011-05-16 18:08:39 -03:00
Thiago Santos 54a35ab879 camerabin2: Improve missing plugin message
Improves the message text for missing plugin messages from
camerabin2
2011-05-16 18:08:39 -03:00
Thiago Santos 4ca402a470 camerabin2: Update porting file
Update porting file with mention that stop-capture is now
async.
2011-05-16 18:08:38 -03:00
Robert Swain 11c7d60dbb gst-camerabin2-test: Allow gst-launch pipelines for sinks
Use gst_parse_launch () to parse the sink strings to allow specification
of properties to sinks and of more advanced sink graphs.
2011-05-16 18:08:38 -03:00
Robert Swain 10b6765fba camerabin2: Fix debug print to show audio/video depending on pad type 2011-05-16 18:08:38 -03:00
Robert Swain 74d4030e3f camerabin2: Fix order of element state change
To change the state of elements in a pipeline, we should mirror the
behaviour of GstBin which starts at the sink element and works its way
upstream.
2011-05-16 18:08:38 -03:00
Mark Nauwelaerts 66fe878d88 vp8dec: debug code style fixes 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts 772d92eeba vp8dec: propagate downstream flow return to upstream 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts 9b6e819247 basevideodecoder: handle missing framerate when calculating timestamp 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts cfe85ad780 basevideodecoder: debug code style fixes 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts 2f6af91f09 basevideodecoder: tune parsing sink caps into video state
... to provide subclass with more information w.r.t. original caps.
2011-05-16 20:32:24 +02:00
Mark Nauwelaerts 380a443be4 basevideodecoder: video state reference to codec_data is not refcounted
... but rather implicitly valid as long as sink caps are not modified.
2011-05-16 20:32:24 +02:00
Mark Nauwelaerts a1825bd5e2 basevideodecoder: improve glitch resilience
Provide a replacement for GST_ELEMENT_ERROR to avoid aborting at the first
atom out of place, while on the other hand not failing indefinitely.
2011-05-16 20:32:24 +02:00
Mark Nauwelaerts 1588ed321c basevideodecoder: reverse playback support 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts 1d99e8eafa basevideodecoder: use basevideocodec discont field 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts 1b151caf11 basevideodecoder: really and only set src pad caps whenever requested
... since subclass is expected to be wise enough to know when to do so.
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts 550237347b basevideodecoder: add some sanity enforcing 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts f72658435b basevideodecoder: add documentation
... and remove some more stray unused code and methods.
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts 04f4a583dd basevideocodec: fully free video frame 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts a085acb586 basevideodecoder: streamline discont, flush and reset handling
... which is not to say there is no room for further tweaking ...
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts 444b169188 basevideodecoder: add some header commentary 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts cfc65b14b1 basevideodecoder: remove (almost) unused fields
... and also some more unused code.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts f591361d2f basevideodecoder: invoke subclass start method at state change and use set_format
While this changes API slightly (e.g. actually uses set_format now), which is OK
for unstable API, it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* otherwise no subclass method at state change (global activation time)
Moreover, subclassese are either unaffected or trivially adjusted accordingly.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts 04a34b4ab7 basevideodecoder: fixup tweak 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts 39fb2fa74a basevideodecoder: add and tweak debug statements 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts fc705cf8fd basevideodecoder: arrange for limited legacy seeking support
In particular, tweak src query and event handling to provide for
byte <-> time conversion.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts 3bd16a48b4 basevideo: cater for format conversion 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts 5af2f6f40e videocodec: remove unused fields and code 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts 4311909a53 basevideodecoder: fix copy-and-paste variable misnomer 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts 7862d9ed35 basevideodecoder: subsume skip_frame into finish_frame 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts 0230143cb8 basevideodecoder: remove unused code 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts 8defa8cb49 basevideodecoder: code cleanup and debug style fixes 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts 576fb1b4cb basevideoencoder: pass along buffer discont flag 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts ef4bceabbb basevideoencoder: implement preset interface 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts 5a8bc266c8 basevideoencoder: add documentation and related cosmetics 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts d15b8c7ad3 basevideoencoder: provide proper upstream flow return handling 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts b7ae60f617 vp8enc: minor optimization in setting up image buffer 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts 1cd8e12c19 vp8enc: refactor frame processing 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts 424e3afe22 vp8enc: do init at set_format time 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts 3d09056c70 vp8enc: fix keyframe forcing 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts d0753dec9b basevideoencoder: enhance set_caps
Specifically, only invoke set_format if incoming format really changed,
and finish current format if so (and if any current).
2011-05-16 20:32:20 +02:00
Mark Nauwelaerts d68288b597 basevideoencoder: elaborate finish to draining 2011-05-16 20:32:20 +02:00