Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
7d7975d0
Commit
7d7975d0
authored
Nov 18, 2015
by
Francois Cartegnie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
demux: adaptative: add readBlock
parent
3bb8d715
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
41 additions
and
11 deletions
+41
-11
modules/demux/adaptative/ChunksSource.hpp
modules/demux/adaptative/ChunksSource.hpp
+1
-1
modules/demux/adaptative/Streams.cpp
modules/demux/adaptative/Streams.cpp
+2
-2
modules/demux/adaptative/Streams.hpp
modules/demux/adaptative/Streams.hpp
+1
-1
modules/demux/adaptative/http/Chunk.cpp
modules/demux/adaptative/http/Chunk.cpp
+18
-3
modules/demux/adaptative/http/Chunk.h
modules/demux/adaptative/http/Chunk.h
+6
-2
modules/demux/adaptative/plumbing/SourceStream.cpp
modules/demux/adaptative/plumbing/SourceStream.cpp
+1
-2
modules/demux/smooth/playlist/MemoryChunk.cpp
modules/demux/smooth/playlist/MemoryChunk.cpp
+11
-0
modules/demux/smooth/playlist/MemoryChunk.hpp
modules/demux/smooth/playlist/MemoryChunk.hpp
+1
-0
No files found.
modules/demux/adaptative/ChunksSource.hpp
View file @
7d7975d0
...
...
@@ -32,7 +32,7 @@ namespace adaptative
{
public:
virtual
~
ChunksSource
()
{}
virtual
block_t
*
readNextBlock
(
size_t
)
=
0
;
virtual
block_t
*
readNextBlock
()
=
0
;
};
}
...
...
modules/demux/adaptative/Streams.cpp
View file @
7d7975d0
...
...
@@ -276,7 +276,7 @@ AbstractStream::status AbstractStream::demux(mtime_t nz_deadline, bool send)
return
AbstractStream
::
status_demuxed
;
}
block_t
*
AbstractStream
::
readNextBlock
(
size_t
toread
)
block_t
*
AbstractStream
::
readNextBlock
()
{
if
(
currentChunk
==
NULL
&&
!
eof
)
currentChunk
=
segmentTracker
->
getNextChunk
(
!
fakeesout
->
restarting
(),
connManager
);
...
...
@@ -296,7 +296,7 @@ block_t * AbstractStream::readNextBlock(size_t toread)
const
bool
b_segment_head_chunk
=
(
currentChunk
->
getBytesRead
()
==
0
);
block_t
*
block
=
currentChunk
->
read
(
toread
);
block_t
*
block
=
currentChunk
->
read
Block
(
);
if
(
block
==
NULL
)
{
delete
currentChunk
;
...
...
modules/demux/adaptative/Streams.hpp
View file @
7d7975d0
...
...
@@ -79,7 +79,7 @@ namespace adaptative
void
prune
();
void
runUpdates
();
virtual
block_t
*
readNextBlock
(
size_t
);
/* impl */
virtual
block_t
*
readNextBlock
();
/* impl */
virtual
void
fillExtraFMTInfo
(
es_format_t
*
)
const
;
/* impl */
virtual
void
trackerEvent
(
const
SegmentTrackerEvent
&
);
/* impl */
...
...
modules/demux/adaptative/http/Chunk.cpp
View file @
7d7975d0
...
...
@@ -90,12 +90,12 @@ size_t AbstractChunk::getBytesToRead() const
return
source
->
getContentLength
()
-
bytesRead
;
}
block_t
*
AbstractChunk
::
read
(
size_t
size
)
block_t
*
AbstractChunk
::
doRead
(
size_t
size
,
bool
b_block
)
{
if
(
!
source
)
return
NULL
;
block_t
*
block
=
source
->
read
(
size
);
block_t
*
block
=
(
b_block
)
?
source
->
readBlock
()
:
source
->
read
(
size
);
if
(
block
)
{
if
(
bytesRead
==
0
)
...
...
@@ -108,6 +108,16 @@ block_t * AbstractChunk::read(size_t size)
return
block
;
}
block_t
*
AbstractChunk
::
readBlock
()
{
return
doRead
(
0
,
true
);
}
block_t
*
AbstractChunk
::
read
(
size_t
size
)
{
return
doRead
(
size
,
false
);
}
HTTPChunkSource
::
HTTPChunkSource
(
const
std
::
string
&
url
,
HTTPConnectionManager
*
manager
)
:
AbstractChunkSource
(),
connection
(
NULL
),
...
...
@@ -214,6 +224,11 @@ bool HTTPChunkSource::prepare()
return
true
;
}
block_t
*
HTTPChunkSource
::
readBlock
()
{
return
read
(
HTTPChunkSource
::
CHUNK_SIZE
);
}
block_t
*
HTTPChunkSource
::
read
(
size_t
readsize
)
{
if
(
!
prepare
())
...
...
modules/demux/adaptative/http/Chunk.h
View file @
7d7975d0
...
...
@@ -45,7 +45,8 @@ namespace adaptative
public:
AbstractChunkSource
();
virtual
~
AbstractChunkSource
();
virtual
block_t
*
read
(
size_t
)
=
0
;
virtual
block_t
*
readBlock
()
=
0
;
virtual
block_t
*
read
(
size_t
)
=
0
;
void
setParentChunk
(
AbstractChunk
*
);
void
setBytesRange
(
const
BytesRange
&
);
const
BytesRange
&
getBytesRange
()
const
;
...
...
@@ -65,6 +66,7 @@ namespace adaptative
size_t
getBytesRead
()
const
;
size_t
getBytesToRead
()
const
;
virtual
block_t
*
readBlock
();
virtual
block_t
*
read
(
size_t
);
virtual
void
onDownload
(
block_t
**
)
=
0
;
...
...
@@ -74,6 +76,7 @@ namespace adaptative
private:
size_t
bytesRead
;
block_t
*
doRead
(
size_t
,
bool
);
};
class
HTTPChunkSource
:
public
AbstractChunkSource
...
...
@@ -82,7 +85,8 @@ namespace adaptative
HTTPChunkSource
(
const
std
::
string
&
url
,
HTTPConnectionManager
*
);
virtual
~
HTTPChunkSource
();
virtual
block_t
*
read
(
size_t
);
/* impl */
virtual
block_t
*
readBlock
();
/* impl */
virtual
block_t
*
read
(
size_t
);
/* impl */
static
const
size_t
CHUNK_SIZE
=
32768
;
...
...
modules/demux/adaptative/plumbing/SourceStream.cpp
View file @
7d7975d0
...
...
@@ -71,8 +71,7 @@ ssize_t ChunksSourceStream::Read(uint8_t *buf, size_t size)
while
(
i_toread
&&
!
b_eof
)
{
const
size_t
i_blocksize
=
__MAX
(
i_toread
,
http
::
HTTPChunkSource
::
CHUNK_SIZE
);
if
(
!
p_block
&&
!
(
p_block
=
source
->
readNextBlock
(
i_blocksize
)))
if
(
!
p_block
&&
!
(
p_block
=
source
->
readNextBlock
()))
{
b_eof
=
true
;
break
;
...
...
modules/demux/smooth/playlist/MemoryChunk.cpp
View file @
7d7975d0
...
...
@@ -36,6 +36,17 @@ MemoryChunkSource::~MemoryChunkSource()
block_Release
(
data
);
}
block_t
*
MemoryChunkSource
::
readBlock
()
{
block_t
*
p_block
=
NULL
;
if
(
data
)
{
p_block
=
data
;
data
=
NULL
;
}
return
p_block
;
}
block_t
*
MemoryChunkSource
::
read
(
size_t
toread
)
{
if
(
!
data
)
...
...
modules/demux/smooth/playlist/MemoryChunk.hpp
View file @
7d7975d0
...
...
@@ -34,6 +34,7 @@ namespace smooth
MemoryChunkSource
(
block_t
*
);
virtual
~
MemoryChunkSource
();
virtual
block_t
*
readBlock
();
/* impl */
virtual
block_t
*
read
(
size_t
);
/* impl */
private:
...
...
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