Duplicate Playlist Entries with BaseURL tags at different levels of the Manifest
Nessuno ha ancora preso questa issue.
- #191 di @cpruijsen — chiusa senza merge
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript
- Ambito
- audio-video-rtc
Direzione di ricerca
Start in src/inheritAttributes.js at the linked inheritAttributes functionality and inspect how representationInfo is built from parent and child BaseURL nodes. Reproduce the manifest example with multiple MPD-level BaseURL elements, then verify that unresolved combinations do not add duplicate child BaseURL entries while preserving distinct URLs.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
There are occurrences in the inheritAttributes functionality where this representationInfo array contains undesired duplicates. This generally occurs when there are multiple BaseURL nodes that are direct children of the MPD node. When we attempt to resolve URLs from a combination of the parent BaseURL and a child BaseURL, and the value does not resolve, we end up returning the child BaseURL multiple times. We need to determine a way to remove these duplicates in a safe way.
See: https://github.com/videojs/mpd-parser/pull/17#discussion_r162750527
Example Input (Note that there are multiple BaseURLs as direct children of the MPD tag)
<MPD type="dyanmic">
<BaseURL serviceLocation="alpha">https://cdn1.example.com/</BaseURL>
<BaseURL serviceLocation="beta">https://cdn2.example.com/</BaseURL>
<Period start="PT0S">
...
<AdaptationSet mimeType="text/vtt" lang="en">
<Representation bandwidth="256" id="en">
<BaseURL>https://example.com/en.vtt</BaseURL>
</Representation>
</AdaptationSet>
</Period>
</MPD>
Current Actual RepresentationInfo
representationInfo: [
{
attributes: {
baseUrl: 'https://cdn1.example.com/',
...
},
segmentInfo: {...}
},
{
attributes: {
baseUrl: 'https://cdn2.example.com/',
...
},
segmentInfo: {...}
},
{
attributes: {
baseUrl: 'https://example.com/en.vtt',
...
},
segmentInfo: {...}
},
{
attributes: {
baseUrl: 'https://example.com/en.vtt',
...
},
segmentInfo: {...}
}
]
Expected (Notice there is one less entry than the last)
representationInfo: [
{
attributes: {
baseUrl: 'https://cdn1.example.com/',
...
},
segmentInfo: {...}
},
{
attributes: {
baseUrl: 'https://cdn2.example.com/',
...
},
segmentInfo: {...}
},
{
attributes: {
baseUrl: 'https://example.com/en.vtt',
...
},
segmentInfo: {...}
}
]
- Lingua principale
- JavaScript
- Stelle
- 88
- Fork
- 60
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di videojs/mpd-parser
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
videojs/mpd-parser#193 ·
-
The version of @xmldom/xmldom currently relied upon by mpd-parser has a critical vulnerability.Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
videojs/mpd-parser#189 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
videojs/mpd-parser#185 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
videojs/mpd-parser#183 ·
-
Multi audio trackApertaenhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
videojs/mpd-parser#182 · 6 commenti ·
Tutte le issue di videojs/mpd-parser
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
maproulette/maproulette-frontend#2944 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
NanmiCoder/dsh-agent-teams#255 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
jaegertracing/jaeger-ui#4618 ·
I maintainer di solito rispondono entro 1 giorno
-
area:plugins enhancement platform:vscode
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
anthropics/claude-code#103166 ·
I maintainer di solito rispondono entro 1 giorno