GSoC 2011 Idea

Trever Fischer tdfischer at
Tue Apr 5 17:37:09 BST 2011

On Tuesday, April 05, 2011 12:33:55 PM Pavel Punegov wrote:
> On Tuesday, April 05, 2011 04:22:12 Trever Fischer wrote:
> > * 'MediaEncoder' is a silly name. Just shorten it to 'Encoder'. Tacking
> > 'Media' onto the front of it doesn't serve any real purpose. We already
> > know that phonon handles media, so connecting 'encoder' with the purpose
> > of encoding media isn't a big mental leap.
> I haven't thought yet about names, and I suppose it's not very important
> now. First i want to create generic description of what i will create
> during GSoC.
Fair enough. Just making sure you didn't have all this set in stone yet.
> > * You actually need three parts to 'encode' a media stream: Input,
> > encoding, and a muxer. Muxers take one or more encodings and combine them
> > into one single output stream. An example is streaming a webcam to an
> > icecast server. You encode the video to theora, audio to vorbis, and then
> > combine the two streams into an ogg output via a muxer.
> Should i create muxer as separate object? I think it's better to create it
> as a some part of Encoder class, so user gets stream ready for
> transmission or writing to a file.
Yes, I feel the muxer should be separate from the encoder. Otherwise, you'd 
have to set the same container format for both the audio and video encoders. 
It makes sense to only provide one place (the muxer) for the developer to set 
which format to encode to.
> > * Taking the above into account, the audio and video coders have some
> > reference to a container format. The container is the responsibility of
> > the muxer, not the encoder.
> > 
> > * What 'properties' might be in the codecs? A defined interface for
> > common properties isn't a bad idea, even if is a set of #define'd
> > strings. In addition, using Qt's own property system instead of writing
> > your own setProperties() would be a better approach. Less cruft to
> > maintain in the long run.
> Bitrate or sampling rate could be there. They are the properties of audio
> codecs, I suppose. Using a Qt's property system is a good idea.

Looks like a good proposal to me, hopefully other phonon devs will give you 
some feedback (*nudge, nudge*)

More information about the kde-multimedia mailing list