Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow HTTP redirect to UDP stream #10933

Merged
merged 2 commits into from Nov 17, 2016

Conversation

@micahg
Copy link
Contributor

commented Nov 15, 2016

Modify the CDVDFactoryInputStream to follow an HTTP redirect to a UDP stream (eg: UDP://:5000).

Description

Modify the CDVDFactoryInputStream to follow an HTTP redirect to a UDP stream (eg: UDP://:5000). This is useful for services that allow the client to initiate video transfer via http, but deliver it over UDP.

Motivation and Context

Would allow better frontend development of devices such as the classic HDHomeRun.

How Has This Been Tested?

Setup a simple IPTV provider (available at https://github.com/micahg/hdhrlive) and test.

Tested in ubuntu linux.

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the Code guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • I have read the CONTRIBUTING document
  • I have added tests to cover my change
  • All new and existing tests passed
@@ -175,6 +175,9 @@ CDVDInputStream* CDVDFactoryInputStream::CreateInputStream(IVideoPlayer* pPlayer

if (finalFileitem.GetMimeType() == "application/vnd.apple.mpegurl")
return new CDVDInputStreamFFmpeg(finalFileitem);

if (URIUtils::IsProtocol(finalFileitem.GetPath(), "udp"))
return CreateInputStream(pPlayer, finalFileitem, scanforextaudio);

This comment has been minimized.

Copy link
@FernetMenta

FernetMenta Nov 15, 2016

Member

returning CDVDInputStreamFFmpeg seems a more robust solution to me. if udp was not handled before this line, you would end up in a stack overflow

@micahg

This comment has been minimized.

Copy link
Contributor Author

commented Nov 16, 2016

Hi,

That was what I originally tried but it didn't work -- I think I must have been passing fileitem instead of finalFileitem.

Anyway, the updated code works (I tested it).

@micahg

This comment has been minimized.

Copy link
Contributor Author

commented Nov 16, 2016

Are those CI errors a result of my change?

@FernetMenta

This comment has been minimized.

Copy link
Member

commented Nov 16, 2016

CI often fails for some reason I don't know.
jenkins build this please

@FernetMenta FernetMenta self-assigned this Nov 16, 2016
@FernetMenta

This comment has been minimized.

Copy link
Member

commented Nov 16, 2016

jenkins build this please

@wsnipex

This comment has been minimized.

Copy link
Member

commented Nov 16, 2016

CI errors are unrelated

@FernetMenta

This comment has been minimized.

Copy link
Member

commented Nov 16, 2016

any objections?

@micahg

This comment has been minimized.

Copy link
Contributor Author

commented Nov 17, 2016

I had a look at the jenkins4kodi error -- i don't think that is me either. Git failed right out of the gate.

@FernetMenta FernetMenta merged commit bcb0fa6 into xbmc:master Nov 17, 2016
1 of 3 checks passed
1 of 3 checks passed
continuous-integration/travis-ci/pr The Travis CI build failed
Details
jenkins4kodi You are a failure. Fix the code and try again......
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.