Need Help Regarding SRTPDEC request_key_callback
sameer
sameer.thapa at evontech.com
Thu Apr 9 14:14:46 UTC 2020
Any updates on this? We are stuck for some while in this issue and it is
crucial for us to get the srtp recording going.
On 09/04/20 2:58 pm, sameer wrote:
>
> We are running pipeline in a different thread other than the main
> thread of application. Can the unref issue be related to different
> thread context?
>
> On 08/04/20 9:03 pm, sameer wrote:
>>
>> On returning caps instead of *caps the app is crashing without
>> showing any errorlogs.
>>
>> Do I need to add the callback method in the class as a member method?
>>
>>> *From:*Olivier Crête <olivier.crete at collabora.com>
>>> *Sent:* Wednesday, April 8, 2020 4:47 PM
>>> *To:* Discussion of the development of and with GStreamer
>>> <gstreamer-devel at lists.freedesktop.org>
>>> *Cc:* Lefteris Diakakis <ldiakakis at rtelworld.com>
>>> *Subject:* Re: Need Help Regarding SRTPDEC request_key_callback
>>>
>>> Hi,
>>>
>>> On Wed, 2020-04-08 at 18:52 +0530, sameer wrote:
>>>
>>> Thank you for the quick reply!
>>>
>>> We have not unref the srtpdec object anywhere. Even made the
>>> srtpdec object global.
>>>
>>> Following is our implementation of callback:
>>>
>>> g_signal_connect(G_OBJECT(srtpdec), "request-key", G_CALLBACK
>>> (request_key_callback), &masterKey);
>>>
>>> // masterKey is string
>>>
>>> // srtpdec is global GstElement
>>>
>>> GstCaps request_key_callback (GstElement gstsrtpdec, guint
>>> ssrc, gpointer udata)
>>>
>>> The return value should be a "GstCaps *"
>>>
>>> {
>>> string *key = (string*)udata;
>>> GstCaps *caps = gst_caps_new_simple ("application/x-srtp",
>>> "payload", G_TYPE_INT, 0,
>>> "ssrc", G_TYPE_UINT, ssrc,
>>> "srtp-key", G_TYPE_STRING, key->c_str(),
>>> "srtp-auth", G_TYPE_STRING, "hmac-sha1-80",
>>> "srtp-cipher", G_TYPE_STRING, "aes-128-icm",
>>> "srtcp-auth", G_TYPE_STRING, "hmac-sha1-80",
>>> "srtcp-cipher", G_TYPE_STRING, "aes-128-icm",
>>> "roc", G_TYPE_UINT, 0,
>>> NULL);
>>> return *caps;
>>> }
>>>
>>> And you should "return caps;"
>>>
>>> Olivier
>>>
>>> Is it the correct way?
>>>
>>> Thanks
>>>
>>> *From:*Olivier Crête <olivier.crete at collabora.com>
>>> <mailto:olivier.crete at collabora.com>
>>> *Sent:* Wednesday, April 8, 2020 3:52 PM
>>> *To:* Discussion of the development of and with GStreamer
>>> <gstreamer-devel at lists.freedesktop.org>
>>> <mailto:gstreamer-devel at lists.freedesktop.org>
>>> *Cc:* Lefteris Diakakis <ldiakakis at rtelworld.com>
>>> <mailto:ldiakakis at rtelworld.com>
>>> *Subject:* Re: Need Help Regarding SRTPDEC request_key_callback
>>>
>>> Hi,
>>>
>>> On Wed, 2020-04-08 at 14:37 +0530, sameer wrote:
>>>
>>> The ssrc is not received in sdp. I have implemented the
>>> callback function to return capstring as mentioned in
>>> the documentation
>>> <https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/gst-plugins-bad-plugins-srtpdec.html>
>>> :
>>>
>>> *static GstCaps request_key_callback (GstElement
>>> gstsrtpdec, guint ssrc, gpointer udata) *
>>>
>>> The capstring returned is like:
>>>
>>> *"
>>> application/x-srtp,channels=(int)1,media=(string)audio,payload=(int)0,clock-rate=(int)8000,encoding-name=(string)PCMU,ssrc=(uint)1932929554,srtp-key=(buffer)4d73554e564e334354466141365042324168614444436c4a456a754a497673747a354e5961694d5a,srtp-cipher=(string)aes-128-icm,srtp-auth=(string)hmac-sha1-32,srtcp-cipher=(string)aes-128-icm,srtcp-auth=(string)hmac-sha1-32,roc=(uint)0
>>> "*
>>>
>>> But after the callback invokes I am receiving following
>>> error:
>>>
>>> *(recorder:32537): GLib-GObject-CRITICAL **:
>>> 14:18:06.064: g_object_unref: assertion 'G_IS_OBJECT
>>> (object)' failed
>>>
>>> ** (recorder:32537): CRITICAL **: 14:18:06.064:
>>> update_session_stream_from_caps: assertion
>>> 'GST_IS_SRTP_DEC (filter)' failed*
>>>
>>> and the app crashes.
>>>
>>> Can anyone tell me what mistake I am making. I am not
>>> able to find much in the documentation or any examples.
>>>
>>> You probably unref the srtpdec object somewhere where you
>>> shouldn't.
>>>
>>> --
>>>
>>> Olivier Crête
>>>
>>> <mailto:olivier.crete at collabora.com>
>>>
>>> _olivier.crete at collabora.com<mailto:olivier.crete at collabora.com>_
>>>
>>> _______________________________________________
>>>
>>> gstreamer-devel mailing list
>>>
>>> <mailto:gstreamer-devel at lists.freedesktop.org>
>>>
>>> _gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>_
>>>
>>> <https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>>>
>>> _https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel_
>>>
>>> --
>>> Olivier Crête
>>> olivier.crete at collabora.com <mailto:olivier.crete at collabora.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200409/65595b64/attachment.htm>
More information about the gstreamer-devel
mailing list