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
Mark Nauwelaerts
4b5623d687
basevideoencoder: invoke subclass start method at state change
...
While this changes order w.r.t. set_format, 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
* little benefit in invoking 2 subclass virtual methods (set_format and start)
in immediate succession; all actions in the second could be done in the first
whereas subclass has no chance to do anything 'global' at activation time
Moreover, current -bad subclass relevant methods either trivially commute
or are either trivially adjusted accordingly.
2011-05-16 20:32:20 +02:00