From 992593f278abcb3cef5496779498fb5d95e46107 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Tue, 11 Nov 2008 09:29:34 +0000 Subject: [PATCH] fixed setting of payload if not known git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1126 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- apps/precoded_announce/PrecodedAnnounce.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/precoded_announce/PrecodedAnnounce.cpp b/apps/precoded_announce/PrecodedAnnounce.cpp index c089ba37..eb3d254e 100644 --- a/apps/precoded_announce/PrecodedAnnounce.cpp +++ b/apps/precoded_announce/PrecodedAnnounce.cpp @@ -75,10 +75,21 @@ AmPayloadProviderInterface* PrecodedDialog::getPayloadProvider() { void PrecodedDialog::onSessionStart(const AmSipRequest& req) { - AmPrecodedFileInstance* file = file_def->getFileInstance(rtp_str.getCurrentPayload(), + int current_payload=rtp_str.getCurrentPayload(); + if ((current_payload == -1) && !m_payloads.empty()) { + current_payload = m_payloads[0]->payload_type; + } + AmPrecodedFileInstance* file = file_def->getFileInstance(current_payload, m_payloads); - if (!file || file->open()) - throw string("PrecodedDialog::onSessionStart: Cannot open file\n"); + if (!file) { + ERROR("no payload\n"); + } + if (!file || file->open()) { + ERROR("PrecodedDialog::onSessionStart: Cannot open file\n"); + dlg.bye(); + setStopped(); + return; + } rtp_str.setFormat(file->getRtpFormat());