MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / rtpengine_playmedia_f

Function rtpengine_playmedia_f

modules/rtpengine/rtpengine.c:4674–4700  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4672}
4673
4674static int rtpengine_playmedia_f(struct sip_msg* msg, str *flags,
4675 pv_spec_t *dspec, pv_spec_t *spvar)
4676{
4677 bencode_buffer_t bencbuf;
4678 bencode_item_t *dict;
4679 pv_value_t val;
4680
4681 if (set_rtpengine_set_from_avp(msg) == -1)
4682 return -1;
4683
4684 dict = rtpe_function_call_ok(&bencbuf, msg, OP_START_MEDIA, flags,
4685 NULL, spvar, NULL, NULL, NULL);
4686 if (!dict) {
4687 LM_ERR("could not start media!\n");
4688 return -1;
4689 }
4690
4691 if (dspec) {
4692 memset(&val, 0, sizeof(pv_value_t));
4693 val.flags = PV_TYPE_INT|PV_VAL_INT;
4694 val.ri = bencode_dictionary_get_integer(dict, "duration", -1);
4695 if (pv_set_value(msg, dspec, 0, &val) != 0)
4696 LM_ERR("failed to set media file duration!\n");
4697 }
4698 bencode_buffer_free(&bencbuf);
4699 return 1;
4700}
4701
4702static int rtpengine_stopmedia_f(struct sip_msg* msg, str *flags,
4703 pv_spec_t *spvar, pv_spec_t *last_frame_pos)

Callers

nothing calls this directly

Calls 5

rtpe_function_call_okFunction · 0.85
pv_set_valueFunction · 0.85
bencode_buffer_freeFunction · 0.85

Tested by

no test coverage detected