Menu

#204 OpalMediaPatch code refactorization

Enhancement
closed-accepted
nobody
OPAL (138)
5
2007-01-26
2007-01-19
No

The attached patch refactors some OpalMediaPatch / OpalMediaStream code to allow the creation of "passive" media patches (without active thread). If a passive patch is used, the source stream is responsible to push packets via media patch down to the sink streams. Useful when using external libraries that push frames instead of letting you pull them. Also useful in case the media stream sends data only at random occasions (e.g. H.224)

To obtain this, the following modifications have been made:
- OpalMediaPatch no longer inherits from PThread but from PObject.
- OpalMediaPatch has a member class 'Thread' that inherits from PThread. Once started, the thread calls Main() on the OpalMediaPatch instance.
- A new class "OpalPassiveMediaPatch" that doesn't launch a thread once started.
- The ability for media streams to indicate which kind of patch they need.
- The ability for source media streams to push frames to the patch instance instead of only having the patch instance pull the frames.
- Some variable renaming within OpalMediaStream to better fit the new situation.
- Required modifications of OpalManager / OpalCall

In case of questions, please contact me. Also, if you have better naming propositions etc, feel free to contact me.

Discussion

  • Hannes Friederich

    patch file

     
  • Hannes Friederich

    Logged In: YES
    user_id=1003925
    Originator: YES

    Checked in to CVS

     
  • Hannes Friederich

    • status: open --> closed-accepted
     

Log in to post a comment.

MongoDB Logo MongoDB