wobbly-badger-001
Alright, first commit of the rtmp feature branches and I've already run
into some h264 encoder issues *sigh*. The Target class has been updated to
include an rtmp type generator. Addition of some helper functions to make
writing multiple type generators simpler. Also if it works, I'm testing
separating the type configuration from it's initialization in case future
developments require the stream to be initialized without configuration.
wobbly-badger-002
Working on getting the bugs out of the rtmp target type before moving on.
The framerate and video width form widgets were out of order in the config/commit
functions of the TargetPanel causing some value switching. Still having
issues with the h264 encoder settings causing a not negotiated gstreamer
error.
wobbly-badger-003
Fixed the h264 profile setting issue, it was a small naming error in the
capabilities object setter. Have updated the preview target generator to
use the helper functions and separate config function. The Target object
is now setup to be initialized without a TargetConfig instance.
wobbly-badger-004
Decided that the target presets were unmanageable as stream providers seem
to be fairly lax in the settings so long as standards are maintained. So
the TargetPresets class has been removed from the project. Classes that
implemented said class have downgraded back to using a single target
configuration instance. This has most likely left a bit of instability in
the TargetPanel class that may need to be handled in the next steady branch.
wobbly-badger-005
Updated TargetConfig class to set default values relevant to all target
types. Also created a defaults function to simplify the process, any
target type specific values are now override defaults.
wobbly-badger-006
Addition of source tag name feature to all source related classes. The
active panels need some adjustments in displaying the source name during
the next gui branch. Names are displayed as source-name by default, this
may change for disabled sources so that they are displayed as such.
wobbly-badger-007
Created a stream commons file to hold gst helper function and any other
purely utility functions. Target class was updated to use said commons
instead of it's identical static functions. Video source classes have a
new clip source type, but it's still untested. The clips will introduce
the complexity of element seeking in order to independently end or loop
the source without effecting the stream as a whole.
wobbly-badger-008
Straight MPEG video clip playback is now supported as a video source type,
but independent source looping is going to require some changes to be made
in the main streaming classes. It should coincide with the muti-stream setup
that I had planned to implement later. It's not going to be an easy update
so need to create a design that fits without requiring too much dependent
class changes.
wobbly-badger-009
Merged MutiStream class and Stream class back into a single Stream class.
Updated all classes dependent on MultiStream to instead use the Stream
class. This will simplify the upcoming multiple stream feature and avoid
confusion of the MutiStream name with the functionality of the Broadcast
class which will encapsulate stream configurations and timing configuration.
wobbly-badger-010
Just changed the name of the stream utilities files and updated the Stream
class a bit. Not quite sure how to progress from here on the video clip
feature. For now I'll just move onto the clip type audio source.
wobbly-badger-011
Addition of mp3 file audio source type. All classes related to audio source
types have been updated. Like the mpeg video source type it is limited to
a single straight play-through until a looping method is discovered.
wobbly-badger-012
Minor improvements to the AudioSource class, pulse source type generator
now uses the utility bcast_gst_bin_add helper function to create elements.
The bcast_audio_source_set_balance function has been modified to account
for various volume control elements.
wobbly-badger-013
Updated all active stream classes to use the utility bcast_gst_bin_add
function in all type generators. Addition of source disabled checks for
all active source setters.
wobbly-badger-013
Fixed a few gtk+ version mismatch issues. Buttons created from icon names
are now done so by first creating an image to set for them. The missing
gdkpixbuf to cairo function has been replaced with the set source pixbuf
function. So gtk+ minimum version is 3.4.4 instead of 3.10.
wobbly-badger-015
Fixed a few issues with StreamPanel class mishandling the current stream
frame's memory. Addition of VNC screen type video source so all video
source related classes have been updated. As with the other features in
this branch still not quite stable.
wobbly-badger-016
Started working on the multi-stream broadcast feature with addition of
Broadcast and BroadcastConfig classes. The config class is about 75% done
while the implement class is still relatively empty.
wobbly-badger-017
Just some more completion of the BroadcastConfig class.
wobbly-badger-018
Almost finished with the Broadcast class, but it will need future
optimizations. The stream cache method currently just creates all
streams upon initialization of the class for simplicity during first
testing. A more robust method that creates and releases the streams
during playing would be more memory efficient.
wobbly-badger-019
Finished very minimal requirements to start implementing the gui broadcast
and active broadcast panels. Thinking the panels should be located at the
top of the configuration and active panels. Broadcast streams need to be
shown in an ordered list matching playing order. The stream panel can be
used to render a broadcast timeline including all streams and update it's
playback progress.
wobbly-badger-020
Started work on broadcast related panels with addition of BroadcastPanel
and ActiveBroadcastPanel classes.