[asterisk-scf-commits] asterisk-scf/integration/bridging.git branch "mediamixer" updated.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Wed Aug 31 18:46:30 CDT 2011
branch "mediamixer" has been updated
via ccaf8cf5763364c72126ef941cc8d44607255782 (commit)
via 87a65e7ea9d7d59cca8b9e3dffdcda64b3227b8c (commit)
from c503f171554fa572219ebdcecba7729a963b8128 (commit)
Summary of changes:
src/MediaMixer.cpp | 8 ++++++--
src/MediaSplicer.cpp | 3 +--
2 files changed, 7 insertions(+), 4 deletions(-)
- Log -----------------------------------------------------------------
commit ccaf8cf5763364c72126ef941cc8d44607255782
Author: Joshua Colp <jcolp at digium.com>
Date: Wed Aug 31 20:51:12 2011 -0300
Fix lifecycle for mixer/mixer sink/mixer source.
diff --git a/src/MediaMixer.cpp b/src/MediaMixer.cpp
index f0f703d..d4c1d8f 100755
--- a/src/MediaMixer.cpp
+++ b/src/MediaMixer.cpp
@@ -141,12 +141,12 @@ public:
MediaMixerSink(const MediaMixerPtr& mixer, const MediaMixerSourcePtr& source) :
mMixer(mixer), mLocalSource(source) { }
+ ~MediaMixerSink() { std::cout << "Media mixer sink going away" << std::endl; }
+
void write(const FrameSeq& frames, const Ice::Current&)
{
boost::unique_lock<boost::shared_mutex> lock(mLock);
- std::cout << "Frame goes in" << std::endl;
-
mFrames.insert(mFrames.begin(), frames.begin(), frames.end());
}
@@ -461,12 +461,16 @@ void MediaMixer::stop()
mImpl->mAdapter->remove((*sink)->getProxy()->ice_getIdentity());
}
+ mImpl->mSinks.clear();
+
for (std::vector<MediaMixerSourcePtr>::const_iterator source = mImpl->mSources.begin();
source != mImpl->mSources.end();
++source)
{
mImpl->mAdapter->remove((*source)->getProxy()->ice_getIdentity());
}
+
+ mImpl->mSources.clear();
}
}
commit 87a65e7ea9d7d59cca8b9e3dffdcda64b3227b8c
Author: Joshua Colp <jcolp at digium.com>
Date: Wed Aug 31 19:35:37 2011 -0300
Remove duplicate pairings and fix issue with transitioning to non-mixing.
diff --git a/src/MediaSplicer.cpp b/src/MediaSplicer.cpp
index 42b19df..cfebdb3 100755
--- a/src/MediaSplicer.cpp
+++ b/src/MediaSplicer.cpp
@@ -510,6 +510,7 @@ public:
MediaMixerPtr mixer;
while (!mMediaMixers.empty())
{
+ mixer = mMediaMixers.back();
mixer->stop();
mMediaMixers.pop_back();
}
@@ -589,9 +590,7 @@ public:
// Now that we have done so we can create pairings
outgoing.push_back(OutgoingPairing(sinks.back(), mixerSource));
- outgoing.push_back(OutgoingPairing(mixerSink, sources.back()));
incoming.push_back(IncomingPairing(sources.back(), mixerSink));
- incoming.push_back(IncomingPairing(mixerSource, sinks.back()));
// These sink and source are completely done, don't touch them again
sinks.pop_back();
-----------------------------------------------------------------------
--
asterisk-scf/integration/bridging.git
More information about the asterisk-scf-commits
mailing list