[vlc-devel] [PATCH 4/4] demux: adaptive: use a custom Matroska demuxer that trust Cues entries
Steve Lhomme
robux4 at ycbcr.xyz
Fri Oct 2 13:19:38 CEST 2020
If the Cues we read in adaptive streaming are incorrect, then the adaptive
streaming cannot work at all with those streams.
---
modules/demux/adaptive/plumbing/Demuxer.cpp | 12 ++++++++++++
modules/demux/adaptive/plumbing/Demuxer.hpp | 7 +++++++
modules/demux/dash/DASHStream.cpp | 2 +-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/modules/demux/adaptive/plumbing/Demuxer.cpp b/modules/demux/adaptive/plumbing/Demuxer.cpp
index 43d3dafdc0f..ad6143f5e89 100644
--- a/modules/demux/adaptive/plumbing/Demuxer.cpp
+++ b/modules/demux/adaptive/plumbing/Demuxer.cpp
@@ -271,6 +271,18 @@ bool SlaveDemuxer::create()
return false;
}
+MkvDemuxer::MkvDemuxer(vlc_object_t *p_obj_,
+ es_out_t *out, AbstractSourceStream *source)
+ : Demuxer(p_obj_, "mkv_trusted", out, source)
+{
+
+}
+
+MkvDemuxer::~MkvDemuxer()
+{
+
+}
+
AbstractDemuxer::Status SlaveDemuxer::demux(vlc_tick_t nz_deadline)
{
/* Always call with increment or buffering will get slow stuck */
diff --git a/modules/demux/adaptive/plumbing/Demuxer.hpp b/modules/demux/adaptive/plumbing/Demuxer.hpp
index 0f16180178c..67dbdf14bd8 100644
--- a/modules/demux/adaptive/plumbing/Demuxer.hpp
+++ b/modules/demux/adaptive/plumbing/Demuxer.hpp
@@ -109,6 +109,13 @@ namespace adaptive
vlc_tick_t length;
};
+ class MkvDemuxer : public Demuxer
+ {
+ public:
+ MkvDemuxer(vlc_object_t *, es_out_t *, AbstractSourceStream *);
+ virtual ~MkvDemuxer();
+ };
+
class DemuxerFactoryInterface
{
public:
diff --git a/modules/demux/dash/DASHStream.cpp b/modules/demux/dash/DASHStream.cpp
index 6d83213c8a6..c5f4f5bb3c6 100644
--- a/modules/demux/dash/DASHStream.cpp
+++ b/modules/demux/dash/DASHStream.cpp
@@ -47,7 +47,7 @@ AbstractDemuxer *DASHStream::newDemux(vlc_object_t *p_obj, const StreamFormat &f
break;
case StreamFormat::WEBM:
- ret = new Demuxer(p_obj, "mkv", out, source);
+ ret = new MkvDemuxer(p_obj, out, source);
break;
case StreamFormat::WEBVTT:
--
2.26.2
More information about the vlc-devel
mailing list