[vlc-devel] [RFC, PATCH 0/6] Adding dispatcher functionality to demux/mkv

Denis Charmet typx at dinauz.org
Thu Mar 3 14:02:32 CET 2016


Hi,

Since I'm not able to comment on the C++ I will nitpick on the coding 
style and say that '{' deserves its own line.

Btw have you tried the loopholes with a debian stable/ubuntu lts gcc? 
As I said previously doing fancy C++ stuff might end up with a lot of 
unsupported features from older compiler and pissed of users :)

On 2016-03-03 13:30, Filip Roséen wrote:
> The patches included in this batch are all related to dispatching
> functionality in one way or another.
> 
> They basically introduce a replacement for the many massive if-else
> trees currently in the module (especially in
> `matroska_segment{,_parse}.cpp`).
> 
> While hopefully being easier to maintain, they are also more
> performant in terms of execution speed (which is a nice plus).
> 
> Feedback would be awesome, and everyone that replies will get a slice
> of the ascii-art cake below (it is not a lie, but rather delicious).
> 
>                                0   0
>                                |   |
>                            ____|___|____
>                         0  |~ ~ ~ ~ ~ ~|   0
>                         |  |           |   |
>                      ___|__|___________|___|__
>                      |/\/\/\/\/\/\/\/\/\/\/\/|
>                  0   |       vlc-devel       |   0
>                  |   |/\/\/\/\/\/\/\/\/\/\/\/|   |
>                 _|___|_______________________|___|__
>                |/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/|
>                |                                   |
>                |   GOT FEEDBACK?  TAKE A SLICE!    |
>                | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ |
>                |___________________________________|
> 
> 
> NOTE: This patch-batch is a continuation of the work done by:
> 
>   - 
> https://mailman.videolan.org/pipermail/vlc-devel/2016-March/106425.html
> 
> Best Regards,
> Filip "refp" Roséen
> 
> Filip Roséen (6):
>   demux/mkv: Added EbmlTypeDispatcher (including changes to 
> Makefile.am)
>   demux/mkv: Use EbmTypeDispatcher in
> `matroska_segment_c::{ParseTrackEntry,ParseTracks}`
>   demux/mkv: Cleaned up code to issue debug diagnostics
>   demux/mkv: Use EbmlTypeDispatcher in `matroska_segment_c::ParseInfo`
>   demux/mkv: Added StringDispatcher (including changes to Makefile.am)
>   demux/mkv: Use `StringDispatcher` in `matroska_segment_c::TrackInit`
> 
>  modules/demux/Makefile.am                    |    3 +
>  modules/demux/mkv/Ebml_dispatcher.hpp        |  161 +++
>  modules/demux/mkv/dispatcher.hpp             |  150 +++
>  modules/demux/mkv/matroska_segment_parse.cpp | 1827 
> ++++++++++++--------------
>  modules/demux/mkv/string_dispatcher.hpp      |  175 +++
>  5 files changed, 1363 insertions(+), 953 deletions(-)
>  create mode 100644 modules/demux/mkv/Ebml_dispatcher.hpp
>  create mode 100644 modules/demux/mkv/dispatcher.hpp
>  create mode 100644 modules/demux/mkv/string_dispatcher.hpp

Regards,
-- 
Denis Charmet - TypX
Le mauvais esprit est un art de vivre


More information about the vlc-devel mailing list