Custom instant rate change event support

Change-Id: Ic154373534b36af72911970548938473eaabf508
diff --git a/src/third_party/starboard/rdk/shared/player/player_internal.cc b/src/third_party/starboard/rdk/shared/player/player_internal.cc
index 047f9b5..9fb2691 100644
--- a/src/third_party/starboard/rdk/shared/player/player_internal.cc
+++ b/src/third_party/starboard/rdk/shared/player/player_internal.cc
@@ -51,6 +51,7 @@
 namespace player {
 
 static constexpr int kMaxNumberOfSamplesPerWrite = 1;
+static const char kCustomInstantRateChange[] = "custom-instant-rate-change";
 
 // static
 int Player::MaxNumberOfSamplesPerWrite() {
@@ -2225,6 +2226,12 @@
 
       did_instant_rate_change_ |= success;
     }
+    else {
+      GstStructure* s = gst_structure_new(kCustomInstantRateChange, "rate", G_TYPE_DOUBLE, rate, NULL);
+      success = gst_element_send_event(
+        pipeline_, gst_event_new_custom(GST_EVENT_CUSTOM_DOWNSTREAM_OOB, s));
+      did_instant_rate_change_ |= success;
+    }
   }
 
   if (success) {