rtpdtmfsrc: Only set the duration when starting to send

The duration depends on the clock rate, which could change due to renegotiation
This commit is contained in:
Olivier Crête 2013-01-25 20:37:53 -05:00
parent 90497aa3cd
commit 0d316b4f43

View file

@ -550,7 +550,6 @@ gst_rtp_dtmf_src_add_start_event (GstRTPDTMFSrc * dtmfsrc, gint event_number,
event->payload = g_slice_new0 (GstRTPDTMFPayload);
event->payload->event = CLAMP (event_number, MIN_EVENT, MAX_EVENT);
event->payload->volume = CLAMP (event_volume, MIN_VOLUME, MAX_VOLUME);
event->payload->duration = dtmfsrc->ptime * dtmfsrc->clock_rate / 1000;
g_async_queue_push (dtmfsrc->event_queue, event);
}
@ -711,6 +710,8 @@ gst_rtp_dtmf_src_create (GstBaseSrc * basesrc, guint64 offset,
gst_dtmf_src_post_message (dtmfsrc, "dtmf-event-processed", event);
dtmfsrc->payload = event->payload;
dtmfsrc->payload->duration =
dtmfsrc->ptime * dtmfsrc->clock_rate / 1000;
event->payload = NULL;
break;