Skip to content

fixes(hls): adds fallback to MP4 in case the Mime type is not identified by parser#3325

Merged
joeyparrish merged 5 commits intoshaka-project:masterfrom
surajkumar-sk:hls
Apr 13, 2021
Merged

fixes(hls): adds fallback to MP4 in case the Mime type is not identified by parser#3325
joeyparrish merged 5 commits intoshaka-project:masterfrom
surajkumar-sk:hls

Conversation

@surajkumar-sk
Copy link
Contributor

@surajkumar-sk surajkumar-sk commented Apr 12, 2021

Description

#3142

Screenshots (optional)

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • I have signed the Google CLA https://cla.developers.google.com
  • My code follows the style guidelines of this project
  • I have verified my change on multiple browsers on different platforms
  • I have run ./build/all.py and the build passes
  • I have run ./build/test.py and all tests pass

@surajkumar-sk
Copy link
Contributor Author

I saw people adding names to the contributor's list and authors list. Do I qualify to add my name to the list

.toBeRejectedWith(Util.jasmineError(error));
}

it('if unable to guess mime type', async () => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please add a new test case for the fallback to mp4? You could use this as a template, but the new test should not be nested within describe('Errors out', () => {

Thanks!

@joeyparrish
Copy link
Member

I saw people adding names to the contributor's list and authors list. Do I qualify to add my name to the list

Sure. You can add your name in this PR.

The list hasn't been perfectly maintained over the years, and new projects at Google don't have CONTRIBUTORS files at all. So the source of truth for who is a contributor is actually the commit log.

Because the list has been poorly-maintained for so long, it may be replaced by some other system of acknowledgement in the future.

@joeyparrish
Copy link
Member

Here's the longer reply. You may regret asking me such a loaded question. 😄

you already knew how to fix this issue, the changes were pretty small so why didn't you finish solving it?

We are a small team at Google. There are currently only 3 people working full-time on Shaka Player, and for reasons I can't really get into, we spent a few months recently with only 1 person working on the project full-time.

As the core team of maintainers, we are working on a few high-priority features, while also fixing bugs, and managing issues and PRs. We're doing about as much as we possibly can by ourselves. So everything else is left to the Shaka Player community.

This particular issue is a low priority for us. The issue only affects servers that don't support HEAD requests (which are these anyway?) serving content that has no recognizable file extension. But for a service provider with this exact setup, it would be a higher priority for them.

The beauty of open source is that you can have very different priorities from us. If you care about something enough, you can read and modify the source to get what you want.

As maintainers, the best thing we can do to get the most done on the project is to be available to provide expertise, to coach and guide contributors, and to help them identify solutions. Perhaps one of us could have done this particular thing more quickly, but by helping members of the community contribute to the issues they care about, we're getting more done overall in parallel.

I was just curious like this is your project and you are striving to make it perfect

I don't think we can make it perfect. Though you remind me of two sayings that I love:

  1. "A work is never truly completed, but abandoned."

Shaka Player will never be "done", because requirements will always change and no project will ever be bug-free. But some day the world may lose interest, or the project may no longer be needed. We'll make it as good as we can, for as long as we can, but some day this project will die, as all projects will.

  1. "The perfect is the enemy of the good enough."

We will never be bug-free, strive as we might. And we will never have the perfect feature set for every user. In fact, some users want us to remove features that others see as a requirement. We literally can't be the best solution for everyone. Since perfection is unachievable, it's important to decide where we settle, and what "good enough" means for us, and not obsess over what we can't get done. Some issues will remain on the backlog until they become important enough for us to devote our limited time to them, or until someone like you comes along who has the time and energy to work on them.

I hope this is useful context, and that you'll forgive me for being so long-winded. 😄

Copy link
Member

@joeyparrish joeyparrish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me otherwise. Thanks!

await testHlsParser(master, media, manifest);
});

it('if unable to guess mime type through Header Request', async () => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name of this test doesn't make sense. In the previous version, it was inside a describe called "Errors out", leading to the complete name "Errors out if ..."

Here, this might be a better name: it('falls back to mp4 if HEAD request fails'

Though we sometimes break this rule a bit, in Jasmine, the "it" functions should read like a sentence about the thing under test: "it falls back to mp4 if ..."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohh

@surajkumar-sk
Copy link
Contributor Author

@joeyparrish

"A work is never truly completed, but abandoned."
Shaka Player will never be "done", because requirements will always change and no project will ever be bug-free. But some day the world may lose interest, or the project may no longer be needed. We'll make it as good as we can, for as long as we can, but some day this project will die, as all projects will.

These lines hit very differently, it felt very emotional.

I hope this is useful context, and that you'll forgive me for being so long-winded.

That's definitely useful.

and I don't know why the inner me pronounces those sentences as a prophet giving a lecture about a divine event. 😂

Thank you for taking the time and replying.

@joeyparrish
Copy link
Member

Shaka Player will never be "done" ... some day this project will die, as all projects will.

These lines hit very differently, it felt very emotional.

I'm an emotional guy! This will be me when I leave the project some day: 😭🤙

Copy link
Member

@joeyparrish joeyparrish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@surajkumar-sk
Copy link
Contributor Author

Hope the thing for which you will leave this project, will be worth it. 😊

@joeyparrish
Copy link
Member

Hope the thing for which you will leave this project, will be worth it. 😊

How about retirement?

@surajkumar-sk
Copy link
Contributor Author

well, you can still join our group of contributors. but I don't know about how retirement might feel, if it's worth it or not, I am still a student who is figuring out his youth. that's probably a question you yourself should answer. 😊

@joeyparrish
Copy link
Member

well, you can still join our group of contributors. but I don't know about how retirement might feel, if it's worth it or not, I am still a student who is figuring out his youth. that's probably a question you yourself should answer. 😊

Plan ahead, I always say. 😄

@surajkumar-sk
Copy link
Contributor Author

surajkumar-sk commented Apr 13, 2021

I can't even if I want to. There are just so many technologies that interest me that I think I'll probably never retire. 😵
I belong to a generation who grew watching marvel and dc, and both of them don't have a concept of retirement 😂

@shaka-bot
Copy link
Collaborator

All tests passed!

@joeyparrish
Copy link
Member

I belong to a generation who grew watching marvel and dc, and both of them don't have a concept of retirement 😂

Not true! Cap retired. (Spoiler)

@joeyparrish joeyparrish merged commit 7714099 into shaka-project:master Apr 13, 2021
@joeyparrish
Copy link
Member

Thanks for your contribution!

@surajkumar-sk
Copy link
Contributor Author

surajkumar-sk commented Apr 13, 2021

Yeah he did, but he is a soldier(a good man), thanos too.. let me change my statement .
Marvel and dc doesn't have a concept of retirement for people who crave knowledge. 😅

@surajkumar-sk surajkumar-sk deleted the hls branch April 14, 2021 05:49
joeyparrish pushed a commit that referenced this pull request Apr 22, 2021
Fixes #3142

Backported to v3.0.x

Change-Id: I09a48c30e76da5a4a93d58263d3a94abf7ed69ed
joeyparrish pushed a commit that referenced this pull request Apr 25, 2021
Fixes #3142

Backported to v2.5.x

Change-Id: I8980cf47f16de50827c42cfebad7c67792156481
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Jul 25, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 25, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

status: archived Archived and locked; will not be updated

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants