Baseflow / ExoPlayerXamarin

Xamarin bindings library for the Google ExoPlayer library
https://baseflow.com
MIT License
152 stars 67 forks source link

Expose DataSource.Factory.CreateDataSource() #142

Closed sschaub closed 1 year ago

sschaub commented 1 year ago

🏗 Enhancement Proposal

DataSource.Factory.CreateDataSource() is not exposed in the current bindings.

Pitch

This is an important method used by frameworks such as XamarinMediaManager.

ArchangelWTF commented 1 year ago

This is an interesting one (I saw you already made a PR) I pretty much came across this too when cleaning up ExoPlayer.Common in an attempt to fix it up for XamarinMediaManager, but I wasn't sure if changing the DataSources would lead to further regressions so I left it be.

Does it work properly in XamarinMediaManager with your binding changes?

martijn00 commented 1 year ago

@sschaub I merged it but the other extensions don't compile with this change. Can you fix that so i can make a release?

sschaub commented 1 year ago

My apologies, @martijn00, for breaking the build. I made a newbie assumption that turned out to be wrong. I think I've corrected it.

sschaub commented 1 year ago

Does it work properly in XamarinMediaManager with your binding changes?

With this change, I was able to create a build of XamarinMediaManager that works for XF 5. I believe this change is just restoring bindings that were in effect for earlier versions of ExoPlayerXamarin, so I doubt it will introduce a regression for downstream projects.

martijn00 commented 1 year ago

I've fixed the last errors now and pushed some other changes. New version is online at nuget. I'll push this to MediaManager too, not sure if it works after that...