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,
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 );
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