GitHub is a fantastic resource for developers. As such we (like many others) have stored our testing applications there. That way they can be available for those looking to test the capabilities of Red5 Pro for themselves.
The key word here is test.
We built the GitHub applications so that we could test specific features. It's important that the core functionality works as expected so we isolated individual functions. Our applications are collections of individual tests which are used to verify each feature.
Rather than a one-stop, does absolutely everything you need template, consider it more of a model for how your application could look.
These tests are not intended to be used as building blocks or fully encased components. In the majority of use cases, these tests will not work as is in a production environment. The great majority of applications will need more work that just cutting out our code and pasting it into another application. In order to meet 100% of your needs, you will need to configure, customize and further integrate the test code with your actual code.
As you can see, each test is designed to verify the functionality of one specific function, NOT the application as an entire cohesive unit. For example, the iOS camera swap test is designed to swap the view back and forth from the back camera to the front camera. That's it.
It's safe to say that the vast majority of applications will need more than just a simple publish function.
An application that will need to publish a stream will most likely need the ability to subscribe to that stream as well. Not only that, but supplemental features such as
PublishDeviceOrientation, will make for a more robust and useful app. All those additional tests required to make a complete application would need to be combined with extra code that you and your team will need to develop.
In summary, the Red5 Pro code that can be found on our GitHub page is a series of separate tests meant for demonstrating and verifying individual features. The test applications are developer tools intended for creating an application, not a structural frame for building on top of.