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
a802e8af
Commit
a802e8af
authored
Sep 10, 2005
by
Steve Lhomme
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mkv.cpp: support playback of segments without a UID
parent
c7e36118
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
5 deletions
+5
-5
modules/demux/mkv.cpp
modules/demux/mkv.cpp
+5
-5
No files found.
modules/demux/mkv.cpp
View file @
a802e8af
...
@@ -1337,7 +1337,7 @@ public:
...
@@ -1337,7 +1337,7 @@ public:
void
PreloadFamily
(
const
matroska_segment_c
&
of_segment
);
void
PreloadFamily
(
const
matroska_segment_c
&
of_segment
);
void
PreloadLinked
(
matroska_segment_c
*
p_segment
);
void
PreloadLinked
(
matroska_segment_c
*
p_segment
);
bool
PreparePlayback
(
virtual_segment_c
*
p_new_segment
);
bool
PreparePlayback
(
virtual_segment_c
*
p_new_segment
);
matroska_stream_c
*
AnalyseAllSegmentsFound
(
EbmlStream
*
p_estream
);
matroska_stream_c
*
AnalyseAllSegmentsFound
(
EbmlStream
*
p_estream
,
bool
b_initial
=
false
);
void
JumpTo
(
virtual_segment_c
&
p_segment
,
chapter_item_c
*
p_chapter
);
void
JumpTo
(
virtual_segment_c
&
p_segment
,
chapter_item_c
*
p_chapter
);
void
StartUiThread
();
void
StartUiThread
();
...
@@ -1415,7 +1415,7 @@ static int Open( vlc_object_t * p_this )
...
@@ -1415,7 +1415,7 @@ static int Open( vlc_object_t * p_this )
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
}
}
p_stream
=
p_sys
->
AnalyseAllSegmentsFound
(
p_io_stream
);
p_stream
=
p_sys
->
AnalyseAllSegmentsFound
(
p_io_stream
,
true
);
if
(
p_stream
==
NULL
)
if
(
p_stream
==
NULL
)
{
{
msg_Err
(
p_demux
,
"cannot find KaxSegment"
);
msg_Err
(
p_demux
,
"cannot find KaxSegment"
);
...
@@ -1915,7 +1915,7 @@ msg_Dbg( p_demux, "block i_dts: "I64Fd" / i_pts: "I64Fd, p_block->i_dts, p_block
...
@@ -1915,7 +1915,7 @@ msg_Dbg( p_demux, "block i_dts: "I64Fd" / i_pts: "I64Fd, p_block->i_dts, p_block
#undef tk
#undef tk
}
}
matroska_stream_c
*
demux_sys_t
::
AnalyseAllSegmentsFound
(
EbmlStream
*
p_estream
)
matroska_stream_c
*
demux_sys_t
::
AnalyseAllSegmentsFound
(
EbmlStream
*
p_estream
,
bool
b_initial
)
{
{
int
i_upper_lvl
=
0
;
int
i_upper_lvl
=
0
;
size_t
i
;
size_t
i
;
...
@@ -1946,7 +1946,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( EbmlStream *p_estream )
...
@@ -1946,7 +1946,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( EbmlStream *p_estream )
{
{
EbmlParser
*
ep
;
EbmlParser
*
ep
;
matroska_segment_c
*
p_segment1
=
new
matroska_segment_c
(
*
this
,
*
p_estream
);
matroska_segment_c
*
p_segment1
=
new
matroska_segment_c
(
*
this
,
*
p_estream
);
b_keep_segment
=
false
;
b_keep_segment
=
b_initial
;
ep
=
new
EbmlParser
(
p_estream
,
p_l0
,
&
demuxer
);
ep
=
new
EbmlParser
(
p_estream
,
p_l0
,
&
demuxer
);
p_segment1
->
ep
=
ep
;
p_segment1
->
ep
=
ep
;
...
@@ -1967,7 +1967,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( EbmlStream *p_estream )
...
@@ -1967,7 +1967,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( EbmlStream *p_estream )
if
(
MKV_IS_ID
(
l
,
KaxSegmentUID
)
)
if
(
MKV_IS_ID
(
l
,
KaxSegmentUID
)
)
{
{
KaxSegmentUID
*
p_uid
=
static_cast
<
KaxSegmentUID
*>
(
l
);
KaxSegmentUID
*
p_uid
=
static_cast
<
KaxSegmentUID
*>
(
l
);
b_keep_segment
=
(
FindSegment
(
*
p_uid
)
==
NULL
);
b_keep_segment
=
b_initial
||
(
FindSegment
(
*
p_uid
)
==
NULL
);
if
(
!
b_keep_segment
)
if
(
!
b_keep_segment
)
break
;
// this segment is already known
break
;
// this segment is already known
opened_segments
.
push_back
(
p_segment1
);
opened_segments
.
push_back
(
p_segment1
);
...
...
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