]> git.sesse.net Git - vlc/blobdiff - modules/demux/mkv/chapters.hpp
logger: support android
[vlc] / modules / demux / mkv / chapters.hpp
index 4116ef3439be3e9041dd24c510a8ef2f0fa974fc..84ee4fa2913d2835315d268b14d73aa472e5a2bd 100644 (file)
@@ -53,20 +53,15 @@ public:
     chapter_item_c()
     :i_start_time(0)
     ,i_end_time(-1)
-    ,i_user_start_time(-1)
-    ,i_user_end_time(-1)
-    ,i_seekpoint_num(-1)
+    ,p_segment_uid(NULL)
+    ,p_segment_edition_uid(NULL)
     ,b_display_seekpoint(true)
     ,b_user_display(false)
-    ,psz_parent(NULL)
+    ,p_parent(NULL)
     ,b_is_leaving(false)
     {}
 
     virtual ~chapter_item_c();
-
-    int64_t RefreshChapters( bool b_ordered, int64_t i_prev_user_time );
-    int PublishChapters( input_title_t & title, int & i_user_chapters, int i_level = 0 );
-    virtual chapter_item_c * FindTimecode( mtime_t i_timecode, const chapter_item_c * p_current, bool & b_found );
     void Append( const chapter_item_c & edition );
     chapter_item_c * FindChapter( int64_t i_find_uid );
     virtual chapter_item_c *BrowseCodecPrivate( unsigned int codec_id,
@@ -76,24 +71,19 @@ public:
     std::string                 GetCodecName( bool f_for_title = false ) const;
     bool                        ParentOf( const chapter_item_c & item ) const;
     int16                       GetTitleNumber( ) const;
+
     int64_t                     i_start_time, i_end_time;
-    int64_t                     i_user_start_time, i_user_end_time; /* the time in the stream when an edition is ordered */
     std::vector<chapter_item_c*> sub_chapters;
-    int                         i_seekpoint_num;
+    KaxChapterSegmentUID        *p_segment_uid;
+    KaxChapterSegmentEditionUID *p_segment_edition_uid;
     int64_t                     i_uid;
     bool                        b_display_seekpoint;
     bool                        b_user_display;
     std::string                 psz_name;
-    chapter_item_c              *psz_parent;
+    chapter_item_c              *p_parent;
     bool                        b_is_leaving;
-    std::vector<chapter_codec_cmds_c*> codecs;
 
-    static bool CompareTimecode( const chapter_item_c * itemA, const chapter_item_c * itemB )
-    {
-        return ( itemA->i_user_start_time < itemB->i_user_start_time || (itemA->i_user_start_time == itemB->i_user_start_time && itemA->i_user_end_time < itemB->i_user_end_time) );
-    }
+    std::vector<chapter_codec_cmds_c*> codecs;
 
     bool Enter( bool b_do_subchapters );
     bool Leave( bool b_do_subchapters );
@@ -103,16 +93,14 @@ public:
 class chapter_edition_c : public chapter_item_c
 {
 public:
-    chapter_edition_c()
-    :b_ordered(false)
+    chapter_edition_c(): b_ordered(false), b_default(false), b_hidden(false)
     {}
-    void RefreshChapters( );
-    mtime_t Duration() const;
+
     std::string GetMainName() const;
-    chapter_item_c * FindTimecode( mtime_t i_timecode, const chapter_item_c * p_current );
     bool                        b_ordered;
+    bool                        b_default;
+    /* TODO handle hidden chapters */
+    bool                        b_hidden;
 };
 
 #endif