GST_END_TEST
GST_START_TEST (copy)
{
  GstSDPMessage *message, *copy;
  glong length = -1;
  gchar *message_str, *copy_str;
  const gchar *repeat1[] = { "789", "012", NULL };
  const gchar *repeat2[] = { "987", "210", NULL };

  gst_sdp_message_new (&message);
  gst_sdp_message_parse_buffer ((guint8 *) sdp, length, message);

  gst_sdp_message_add_time (message, "123", "456", repeat1);
  gst_sdp_message_add_time (message, "321", "654", repeat2);

  gst_sdp_message_copy (message, &copy);

  message_str = gst_sdp_message_as_text (message);
  GST_DEBUG ("Original:\n%s", message_str);
  gst_sdp_message_free (message);
  copy_str = gst_sdp_message_as_text (copy);
  gst_sdp_message_free (copy);
  GST_DEBUG ("Copy:\n%s", copy_str);

  fail_if (g_strcmp0 (copy_str, message_str) != 0);
  g_free (copy_str);
  g_free (message_str);
}
Example #2
0
SDPDescription::SDPDescription(const std::string& ip_addr) : ip_addr_(ip_addr) {
  gst_sdp_message_new(&sdp_description_);
  /* some standard things first */
  gst_sdp_message_set_version(sdp_description_, "0");
  // FIXME check and chose between IP4 and IP6, IP4 hardcoded
  // FIXME generate proper session id &version
  gst_sdp_message_set_origin(sdp_description_,
                             "-",                 // the user name
                             "1188340656180883",  // a session id
                             "1",                 // a session version
                             "IN",                // a network type
                             "IP4",               // an address type
                             ip_addr.c_str());    // an address
  gst_sdp_message_set_session_name(sdp_description_, "switcher");
  gst_sdp_message_set_information(sdp_description_, "telepresence");
  gst_sdp_message_add_time(sdp_description_, "0", "0", nullptr);
  gst_sdp_message_add_attribute(sdp_description_, "tool", "switcher");
  gst_sdp_message_add_attribute(sdp_description_, "type", "broadcast");
  gst_sdp_message_add_attribute(sdp_description_, "control", "*");
}