diff options
author | Olivier Crete <tester@tester.ca> | 2008-03-07 18:17:44 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-03-07 18:17:44 +0000 |
commit | cf273d8add57d03273514597a07eaeaf762b931b (patch) | |
tree | f61079a0e1b3727d7793de2ab8136f33d30765b5 | |
parent | 6c50e0031a0417c53e02588ce888079a5e96f4cd (diff) | |
download | gstreamer-plugins-base-cf273d8add57d03273514597a07eaeaf762b931b.tar.gz |
Add trivial function to compare GstNetAddress. See #520626.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester ca>
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netaddress_equal):
* gst-libs/gst/netbuffer/gstnetbuffer.h:
Add trivial function to compare GstNetAddress. See #520626.
API: GstNetBuffer::gst_netaddress_equal
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | docs/libs/gst-plugins-base-libs-sections.txt | 1 | ||||
-rw-r--r-- | gst-libs/gst/netbuffer/gstnetbuffer.c | 40 | ||||
-rw-r--r-- | gst-libs/gst/netbuffer/gstnetbuffer.h | 3 |
4 files changed, 54 insertions, 0 deletions
@@ -1,5 +1,15 @@ 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk> + Patch by: Olivier Crete <tester at tester ca> + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netaddress_equal): + * gst-libs/gst/netbuffer/gstnetbuffer.h: + Add trivial function to compare GstNetAddress. See #520626. + API: GstNetBuffer::gst_netaddress_equal + +2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk> + * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): Update mode property docs, it's deprecated now. diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt index 313d703a6..d5affab21 100644 --- a/docs/libs/gst-plugins-base-libs-sections.txt +++ b/docs/libs/gst-plugins-base-libs-sections.txt @@ -595,6 +595,7 @@ gst_netaddress_get_ip6_address gst_netaddress_get_net_type gst_netaddress_set_ip4_address gst_netaddress_set_ip6_address +gst_netaddress_equal <SUBSECTION Standard> GstNetBufferClass GST_TYPE_NETBUFFER diff --git a/gst-libs/gst/netbuffer/gstnetbuffer.c b/gst-libs/gst/netbuffer/gstnetbuffer.c index b897c9bda..964d1b841 100644 --- a/gst-libs/gst/netbuffer/gstnetbuffer.c +++ b/gst-libs/gst/netbuffer/gstnetbuffer.c @@ -237,3 +237,43 @@ gst_netaddress_get_ip6_address (GstNetAddress * naddr, guint8 address[16], return TRUE; } + +/** + * gst_netaddress_equal: + * @naddr1: The first #GstNetAddress + * @naddr2: The second #GstNetAddress + * + * Compare two #GstNetAddress structures + * + * Returns: TRUE if they are identical, FALSE otherwise + * + * Since: 0.10.18 + */ +gboolean +gst_netaddress_equal (const GstNetAddress * naddr1, + const GstNetAddress * naddr2) +{ + g_return_val_if_fail (naddr1 != NULL, FALSE); + g_return_val_if_fail (naddr2 != NULL, FALSE); + + if (naddr1->type != naddr2->type) + return FALSE; + + if (naddr1->port != naddr2->port) + return FALSE; + + switch (naddr1->type) { + case GST_NET_TYPE_IP4: + if (naddr1->address.ip4 != naddr2->address.ip4) + return FALSE; + break; + case GST_NET_TYPE_IP6: + if (memcmp (naddr1->address.ip6, naddr2->address.ip6, + sizeof (naddr1->address.ip6))) + return FALSE; + break; + default: + break; + } + return TRUE; +} diff --git a/gst-libs/gst/netbuffer/gstnetbuffer.h b/gst-libs/gst/netbuffer/gstnetbuffer.h index 2fd772149..4910ea372 100644 --- a/gst-libs/gst/netbuffer/gstnetbuffer.h +++ b/gst-libs/gst/netbuffer/gstnetbuffer.h @@ -105,6 +105,9 @@ GstNetType gst_netaddress_get_net_type (GstNetAddress *naddr); gboolean gst_netaddress_get_ip4_address (GstNetAddress *naddr, guint32 *address, guint16 *port); gboolean gst_netaddress_get_ip6_address (GstNetAddress *naddr, guint8 address[16], guint16 *port); +gboolean gst_netaddress_equal (const GstNetAddress *naddr1, + const GstNetAddress *naddr2); + G_END_DECLS #endif /* __GST_NETBUFFER_H__ */ |