I'm using an external library to create a customized live streaming app.
Here is the library I'm using:
https://github.com/cine-io/cineio-broadcast-android/tree/master/cineio-broadcast-android-sdk
One of the (few) issues I have with this library is that it forces the phone to use the FRONT camera if there is one. I'd rather force to use the back camera (or have a choice, whatever).
As it is, the class that manages broadcasting in this library does have built-in public methods to choose the camera upon initialization, and its methods are private, so I can't extend it.
My solution has been to download the library locally, compile it as a local project in Gradle (I'm usnig Android Studio). Then I directly amend the library files in my project. It works.
However I'm worried this isn't a very good practice. One issue I can foresee is that the library will get upgraded - and since I'll have made changes locally it'll be very hard to take advantage of new versions of the library.
QUESTION: Is there a best practice when it comes to modifying external libraries? Is it what I am doing, or is there a better way?
Please feel free to provide feedback on the question so I can improve or clarify it as needed.