Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
8c93323c
Commit
8c93323c
authored
Mar 01, 2005
by
Steve Lhomme
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mkv.cpp: fix the chapter/edition ending time
parent
ae27ee8f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
84 additions
and
80 deletions
+84
-80
modules/demux/mkv.cpp
modules/demux/mkv.cpp
+84
-80
No files found.
modules/demux/mkv.cpp
View file @
8c93323c
...
...
@@ -2763,15 +2763,16 @@ static void ParseChapterAtom( demux_t *p_demux, int i_level, EbmlMaster *ca, cha
{
KaxChapterTimeStart
&
start
=*
(
KaxChapterTimeStart
*
)
l
;
sk
->
i_time_offset
=
uint64
(
start
)
/
I64C
(
1000
);
chapters
.
i_start_time
=
sk
->
i_time_offset
;
msg_Dbg
(
p_demux
,
"| | | | + ChapterTimeStart: %lld"
,
sk
->
i_time_offset
);
}
else
if
(
MKV_IS_ID
(
l
,
KaxChapterTimeEnd
)
)
{
KaxChapterTimeEnd
&
end
=*
(
KaxChapterTimeEnd
*
)
l
;
int64_t
i_end
=
uint64
(
end
);
chapters
.
i_end_time
=
uint64
(
end
)
/
I64C
(
1000
);
msg_Dbg
(
p_demux
,
"| | | | + ChapterTimeEnd: %lld"
,
i_end
);
msg_Dbg
(
p_demux
,
"| | | | + ChapterTimeEnd: %lld"
,
chapters
.
i_end_time
);
}
else
if
(
MKV_IS_ID
(
l
,
KaxChapterDisplay
)
)
{
...
...
@@ -2844,6 +2845,7 @@ static void ParseChapters( demux_t *p_demux, EbmlElement *chapters )
unsigned
int
i
;
int
i_upper_level
=
0
;
int
i_default_edition
=
0
;
float
f_duration
;
/* Master elements */
m
=
static_cast
<
EbmlMaster
*>
(
chapters
);
...
...
@@ -2906,7 +2908,9 @@ static void ParseChapters( demux_t *p_demux, EbmlElement *chapters )
if
(
p_sys
->
editions
[
i_default_edition
].
b_ordered
)
{
/* update the duration of the segment according to the sum of all sub chapters */
p_sys
->
f_duration
=
p_sys
->
editions
[
i_default_edition
].
Duration
();
f_duration
=
p_sys
->
editions
[
i_default_edition
].
Duration
()
/
I64C
(
1000
);
if
(
f_duration
>
0.0
)
p_sys
->
f_duration
=
f_duration
;
}
}
...
...
@@ -3069,7 +3073,7 @@ int64_t chapter_item_t::RefreshChapters( bool b_ordered, int64_t i_prev_user_tim
}
else
{
i_user_end_time
=
i_user_start
_time
;
i_user_end_time
=
i_user
_time
;
}
}
else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment