Commit graph

34 commits

Author SHA1 Message Date
Guillaume Desmottes
ce004a5bac cdgdec: reset the interpreter when stopping
Fully reset the interpreter state as if we decode later it will be
another file.
2020-01-10 10:49:44 +05:30
Guillaume Desmottes
119afdde2a cdg: cdgdec: reset interpreter when flushing
Prevent visual artifacts from the previous position when seeking to a
not keyframe.

Dumping cdg_renderer version as we need the new reset API.
2020-01-09 17:16:03 +05:30
Sebastian Dröge
9772adbfbf Fix various new clippy warnings from 1.40 2019-12-22 11:35:01 +02:00
François Laignel
bdadf25f5c Clippy pass 2019-12-19 20:44:00 +01:00
Sebastian Dröge
a91d0d929c Use functions with correct mutability for BaseParseFrame/VideoCodecFrame 2019-12-18 18:55:17 +02:00
Sebastian Dröge
ccfb8246be Fix compilation after gstreamer-rs!383 2019-12-18 08:17:42 +02:00
Guillaume Desmottes
7ba1e6f60d cdg: typefind: improve CDG packets detection heuristic
We used to look at the first 10 seconds of data to compute the ratio of
CDG packets. This was not working great for files having a long intro
as no video was displayed during this time.

Split the single search window into multiple smaller ones and walk
through the whole file hoping to find a section containing CDG packets.

With this change we are now fetching at most 230400 bytes of data,
but in almost all matching cases we find the type way before that.

This heuristic is good enough to be able to properly detect all the cdg
files from my collection (77625 files).
2019-11-14 15:49:36 +05:30
Guillaume Desmottes
e1b96960b2 cdg: typefind: factor out compute_probability()
No semantic change.
2019-11-14 15:49:36 +05:30
Guillaume Desmottes
1895c72ca6 cdg: typefind: define the search window in seconds rather than bytes
Makes it easier to read and fine tune.
2019-11-14 15:49:36 +05:30
Philippe Normand
a049d9fada cdgdec: decide_allocation fixes
Check the pool configuration result and potentially error out before chaining to
the parent class.

Fixes #80
2019-11-05 10:42:12 +00:00
Guillaume Desmottes
e5244fc36a cdgparse: mark palette commands as HEADER
Fix rendering with decodebin3 which is dropping the first input buffers
until it find a header or key frame.
2019-11-03 16:59:10 +01:00
Sebastian Dröge
1ae57967ae Move debug categories from an instance member to lazy_static
Simplifies the code a bit and less state to carry around.
2019-10-31 23:35:11 +01:00
Sebastian Dröge
074a82d8ad Various fixes for from_string() -> from_str(), to_string() vs. to_str()
The latter also does not allocate.
2019-10-04 11:47:50 +03:00
Sebastian Dröge
b05fb902f9 Remove usage of subclassing feature, it's the default now 2019-09-09 10:45:06 +03:00
Sebastian Dröge
83cc8104a1 Fix or silence all remaining clippy warnings
Also ignore common errors we don't care about when running clippy and
make clippy errors fail the CI.
2019-09-07 10:42:07 +03:00
Sebastian Dröge
1e71767b40 cdg: Update to image 0.22 and cdg_renderer 0.3 2019-08-07 15:52:50 +03:00
Sebastian Dröge
f149f8f1b5 Don't use ONCE_INIT anymore now that Once::new() is const 2019-07-11 16:41:42 +03:00
Sebastian Dröge
fbbd70950a Fix a few more clippy warnings 2019-07-11 11:20:39 +03:00
Sebastian Dröge
acc4b6a7e2 Update versions to 0.6.0 2019-07-07 13:20:15 +03:00
Sebastian Dröge
7948b266c5 cdg: ... ranges (inclusive) are deprecated in favour of ...= 2019-06-24 21:35:30 +03:00
Guillaume Desmottes
4327ad84e9 cdgparse: fix bytes to time None conversion
Use to crash when unwrapping.
2019-06-08 12:21:26 +05:30
Guillaume Desmottes
9af2823f58 cdgparse: fix time to bytes None conversion
Time(None) should be converted to Bytes(None).

Fix seeking with stop=-1
2019-06-07 16:57:30 +05:30
Guillaume Desmottes
288908edc0 cdg: implement typefind 2019-06-06 18:35:49 +05:30
Guillaume Desmottes
d12950a434 cdg: set rank of parser and decoder to Primary 2019-06-04 14:35:10 +05:30
Guillaume Desmottes
4eac148045 cdgdec: remove parsing code
Now rely on cdgparse to do the parsing.
2019-06-03 17:39:32 +05:30
Guillaume Desmottes
0a9536046b cdg: add cdgparse 2019-06-03 17:39:32 +05:30
Guillaume Desmottes
79cef6cbf7 cdg: factor out constants module 2019-06-03 17:39:32 +05:30
ahamedsajeer.15
dc45b7f8ac Add build.rs that provides a version number, release date and other details 2019-06-03 11:11:29 +00:00
Guillaume Desmottes
aa12b6bdc2 cdg: rename plugin to gstcdg
No need to prefix it with 'rs', there is no other CDG implementation in
GStreamer.
2019-05-29 11:42:41 +05:30
Guillaume Desmottes
a710cd0751 cdg: fix plugin name
The plugin name needs to match the lib name so plugin entry points are
properly named.
Fix regression introduced when switching to the new plugin symbols.
2019-05-28 15:43:49 +05:30
Sebastian Dröge
fbee00caab Update for gstreamer gst_plugin_define! API changes 2019-05-27 20:31:39 +00:00
Guillaume Desmottes
c46ec64b03 cdg: update image and cdg_renderer deps 2019-05-25 15:42:01 +02:00
Sebastian Dröge
9bccc50add Update for gstreamer-rs API changes 2019-05-24 13:09:32 +02:00
Guillaume Desmottes
cfe660ae82 cdg: add cdgdec element
CDG video decoder used to render karaoke videos.

Acting as a parser for now as we don't have cdgparse yet. I'll probably
implement it at some point once we have GstBaseParse bindings.
2019-05-23 16:49:13 +02:00