vlc | branch: master | Filip Roséen <[email protected]> | Mon May 9 14:52:59 2016 +0200| [58e1a9e80fc3fb4a2a5d0f150eae6385d37b337e] | committer: Jean-Baptiste Kempf
mkv: removed manual memory management from mkv_track_t Minor transformation from being a plain-old-data entity to a "proper" C++ class where manual memory management has been removed and replaced with std::string, as well as removal of unused members. Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=58e1a9e80fc3fb4a2a5d0f150eae6385d37b337e --- modules/demux/mkv/matroska_segment_parse.cpp | 9 +-- modules/demux/mkv/mkv.hpp | 83 +++++++++++++------------- 2 files changed, 42 insertions(+), 50 deletions(-) diff --git a/modules/demux/mkv/matroska_segment_parse.cpp b/modules/demux/mkv/matroska_segment_parse.cpp index 9d64192..e128ad3 100644 --- a/modules/demux/mkv/matroska_segment_parse.cpp +++ b/modules/demux/mkv/matroska_segment_parse.cpp @@ -224,11 +224,6 @@ void matroska_segment_c::ParseTrackEntry( KaxTrackEntry *m ) tk->i_data_init = 0; tk->p_data_init = NULL; - tk->psz_codec_name = NULL; - tk->psz_codec_settings = NULL; - tk->psz_codec_info_url = NULL; - tk->psz_codec_download_url = NULL; - tk->i_compression_type = MATROSKA_COMPRESSION_NONE; tk->i_encoding_scope = MATROSKA_ENCODING_SCOPE_ALL_FRAMES; tk->p_compression_data = NULL; @@ -378,8 +373,8 @@ void matroska_segment_c::ParseTrackEntry( KaxTrackEntry *m ) } E_CASE( KaxCodecName, cname ) { - vars.tk->psz_codec_name = ToUTF8( UTFstring( cname ) ); - debug( vars, "Track Codec Name=%s", vars.tk->psz_codec_name ) ; + vars.tk->str_codec_name = static_cast<UTFstring const&>( cname ).GetUTF8(); + debug( vars, "Track Codec Name=%s", vars.tk->str_codec_name.c_str() ) ; } //AttachmentLink E_CASE( KaxCodecDecodeAll, cdall ) // UNUSED diff --git a/modules/demux/mkv/mkv.hpp b/modules/demux/mkv/mkv.hpp index 31991c1..64a5dff 100644 --- a/modules/demux/mkv/mkv.hpp +++ b/modules/demux/mkv/mkv.hpp @@ -178,62 +178,59 @@ public: virtual int32_t Init() { return 0; } }; -struct mkv_track_t +class mkv_track_t { - bool b_default; - bool b_enabled; - bool b_forced; - unsigned int i_number; + public: + typedef unsigned int track_id_t; - unsigned int i_extra_data; - uint8_t *p_extra_data; + bool b_default; + bool b_enabled; + bool b_forced; + track_id_t i_number; - char *psz_codec; - bool b_dts_only; - bool b_pts_only; + unsigned int i_extra_data; + uint8_t *p_extra_data; - bool b_no_duration; - uint64_t i_default_duration; - float f_timecodescale; - mtime_t i_last_dts; + char *psz_codec; + bool b_dts_only; + bool b_pts_only; - /* video */ - es_format_t fmt; - float f_fps; - es_out_id_t *p_es; + bool b_no_duration; + uint64_t i_default_duration; + float f_timecodescale; + mtime_t i_last_dts; + uint64_t i_skip_until_fpos; - /* audio */ - unsigned int i_original_rate; - uint8_t i_chans_to_reorder; /* do we need channel reordering */ - uint8_t pi_chan_table[AOUT_CHAN_MAX]; + /* video */ + es_format_t fmt; + float f_fps; + es_out_id_t *p_es; + /* audio */ + unsigned int i_original_rate; + uint8_t i_chans_to_reorder; /* do we need channel reordering */ + uint8_t pi_chan_table[AOUT_CHAN_MAX]; - /* Private track paramters */ - PrivateTrackData *p_sys; - bool b_inited; - /* data to be send first */ - int i_data_init; - uint8_t *p_data_init; + /* Private track paramters */ + PrivateTrackData *p_sys; - /* hack : it's for seek */ - bool b_search_keyframe; + bool b_inited; + /* data to be send first */ + int i_data_init; + uint8_t *p_data_init; - /* informative */ - const char *psz_codec_name; - const char *psz_codec_settings; - const char *psz_codec_info_url; - const char *psz_codec_download_url; + /* informative */ + std::string str_codec_name; - /* encryption/compression */ - int i_compression_type; - uint32_t i_encoding_scope; - KaxContentCompSettings *p_compression_data; - - /* Matroska 4 new elements used by Opus */ - mtime_t i_seek_preroll; - mtime_t i_codec_delay; + /* encryption/compression */ + int i_compression_type; + uint32_t i_encoding_scope; + KaxContentCompSettings *p_compression_data; + /* Matroska 4 new elements used by Opus */ + mtime_t i_seek_preroll; + mtime_t i_codec_delay; }; struct mkv_index_t _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
