Commit graph

28 commits

Author SHA1 Message Date
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