mirror of
https://github.com/shaka-project/shaka-player.git
synced 2026-06-25 17:45:03 +03:00
feat(DASH): add MPD_PATCH advanced request type (#6787)
Add `shaka.net.NetworkingEngine.AdvancedRequestType.MPD_PATCH` to distinguish regular MPD requests from MPD Patch requests.
This commit is contained in:
committed by
GitHub
parent
0820491564
commit
2f3a1ebf94
@@ -17,6 +17,9 @@ describe('DashParser Patch', () => {
|
||||
const manifestContext = {
|
||||
type: shaka.net.NetworkingEngine.AdvancedRequestType.MPD,
|
||||
};
|
||||
const patchContext = {
|
||||
type: shaka.net.NetworkingEngine.AdvancedRequestType.MPD_PATCH,
|
||||
};
|
||||
|
||||
/** @type {!shaka.test.FakeNetworkingEngine} */
|
||||
let fakeNetEngine;
|
||||
@@ -121,7 +124,7 @@ describe('DashParser Patch', () => {
|
||||
|
||||
await updateManifest();
|
||||
expect(fakeNetEngine.request).toHaveBeenCalledTimes(1);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, patchContext);
|
||||
expect(onError).toHaveBeenCalledWith(new shaka.util.Error(
|
||||
shaka.util.Error.Severity.RECOVERABLE,
|
||||
shaka.util.Error.Category.MANIFEST,
|
||||
@@ -155,7 +158,7 @@ describe('DashParser Patch', () => {
|
||||
|
||||
await updateManifest();
|
||||
expect(fakeNetEngine.request).toHaveBeenCalledTimes(1);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, patchContext);
|
||||
expect(onError).toHaveBeenCalledWith(new shaka.util.Error(
|
||||
shaka.util.Error.Severity.RECOVERABLE,
|
||||
shaka.util.Error.Category.MANIFEST,
|
||||
@@ -215,7 +218,7 @@ describe('DashParser Patch', () => {
|
||||
|
||||
await updateManifest();
|
||||
expect(fakeNetEngine.request).toHaveBeenCalledTimes(1);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, patchContext);
|
||||
});
|
||||
|
||||
it('does not use PatchLocation if publishTime is not defined', async () => {
|
||||
@@ -250,7 +253,7 @@ describe('DashParser Patch', () => {
|
||||
await updateManifest();
|
||||
expect(fakeNetEngine.request).toHaveBeenCalledTimes(1);
|
||||
fakeNetEngine.expectRequest('dummy://foo', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectNoRequest('dummy://bar', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectNoRequest('dummy://bar', manifestRequest, patchContext);
|
||||
});
|
||||
|
||||
it('does not use PatchLocation if it expired', async () => {
|
||||
@@ -265,7 +268,7 @@ describe('DashParser Patch', () => {
|
||||
await updateManifest();
|
||||
expect(fakeNetEngine.request).toHaveBeenCalledTimes(1);
|
||||
fakeNetEngine.expectRequest('dummy://foo', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectNoRequest('dummy://bar', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectNoRequest('dummy://bar', manifestRequest, patchContext);
|
||||
});
|
||||
|
||||
it('replaces PatchLocation with new URL', async () => {
|
||||
@@ -287,14 +290,14 @@ describe('DashParser Patch', () => {
|
||||
|
||||
await updateManifest();
|
||||
expect(fakeNetEngine.request).toHaveBeenCalledTimes(1);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectRequest('dummy://bar', manifestRequest, patchContext);
|
||||
fakeNetEngine.request.calls.reset();
|
||||
|
||||
fakeNetEngine.setResponseText('dummy://bar2', patchText);
|
||||
// Another request should be made to new URI.
|
||||
await updateManifest();
|
||||
expect(fakeNetEngine.request).toHaveBeenCalledTimes(1);
|
||||
fakeNetEngine.expectRequest('dummy://bar2', manifestRequest, manifestContext);
|
||||
fakeNetEngine.expectRequest('dummy://bar2', manifestRequest, patchContext);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user