+ BT_PUT(notification);
+
+end:
+ return (void *) notification;
+}
+
+BT_HIDDEN
+void bt_notification_packet_begin_destroy(struct bt_notification *notif)
+{
+ struct bt_notification_packet_begin *packet_begin_notif = (void *) notif;
+
+ BT_LOGD("Destroying packet beginning notification: addr=%p", notif);
+ BT_LOGD_STR("Putting packet.");
+ BT_PUT(packet_begin_notif->packet);
+ g_free(notif);
+}
+
+BT_HIDDEN
+void bt_notification_packet_begin_recycle(struct bt_notification *notif)
+{
+ struct bt_notification_packet_begin *packet_begin_notif = (void *) notif;
+ struct bt_graph *graph;
+
+ BT_ASSERT(packet_begin_notif);
+
+ if (!notif->graph) {
+ bt_notification_packet_begin_destroy(notif);
+ return;
+ }
+
+ BT_LOGD("Recycling packet beginning notification: addr=%p", notif);
+ bt_notification_reset(notif);
+ BT_PUT(packet_begin_notif->packet);
+ graph = notif->graph;
+ notif->graph = NULL;
+ bt_object_pool_recycle_object(&graph->packet_begin_notif_pool, notif);