Need Help Regarding SRTPDEC request_key_callback
sameer
sameer.thapa at evontech.com
Thu Apr 9 09:28:06 UTC 2020
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/58aca858/attachment-0001.htm>
More information about the gstreamer-devel
mailing list