#define GST_CAT_DEFAULT gst_rtp_vp8_depay_debug
static void gst_rtp_vp8_depay_dispose (GObject * object);
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
static void gst_rtp_vp8_depay_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
static void gst_rtp_vp8_depay_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
-#endif
static GstBuffer *gst_rtp_vp8_depay_process (GstRTPBaseDepayload * depayload,
GstRTPBuffer * rtp);
static GstStateChangeReturn gst_rtp_vp8_depay_change_state (GstElement *
"media = (string) \"video\","
"encoding-name = (string) { \"VP8\", \"VP8-DRAFT-IETF-01\" }"));
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
#define DEFAULT_WAIT_FOR_KEYFRAME FALSE
enum
PROP_0,
PROP_WAIT_FOR_KEYFRAME
};
-#endif
static void
gst_rtp_vp8_depay_init (GstRtpVP8Depay * self)
{
self->adapter = gst_adapter_new ();
self->started = FALSE;
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
self->wait_for_keyframe = DEFAULT_WAIT_FOR_KEYFRAME;
-#endif
}
static void
GstRTPBaseDepayloadClass *depay_class =
(GstRTPBaseDepayloadClass *) (gst_rtp_vp8_depay_class);
-
gst_element_class_add_static_pad_template (element_class,
&gst_rtp_vp8_depay_sink_template);
gst_element_class_add_static_pad_template (element_class,
"Sjoerd Simons <sjoerd@luon.net>");
object_class->dispose = gst_rtp_vp8_depay_dispose;
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
object_class->set_property = gst_rtp_vp8_depay_set_property;
object_class->get_property = gst_rtp_vp8_depay_get_property;
"Wait for the next keyframe after packet loss",
DEFAULT_WAIT_FOR_KEYFRAME,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-#endif
+
element_class->change_state = gst_rtp_vp8_depay_change_state;
depay_class->process_rtp_packet = gst_rtp_vp8_depay_process;
G_OBJECT_CLASS (gst_rtp_vp8_depay_parent_class)->dispose (object);
}
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
static void
gst_rtp_vp8_depay_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
break;
}
}
-#endif
static GstBuffer *
gst_rtp_vp8_depay_process (GstRTPBaseDepayload * depay, GstRTPBuffer * rtp)
GST_LOG_OBJECT (self, "Discontinuity, flushing adapter");
gst_adapter_clear (self->adapter);
self->started = FALSE;
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
+
if (self->wait_for_keyframe)
self->waiting_for_keyframe = TRUE;
-#endif
}
size = gst_rtp_buffer_get_payload_len (rtp);
if ((header[0] & 0x01)) {
GST_BUFFER_FLAG_SET (out, GST_BUFFER_FLAG_DELTA_UNIT);
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
if (self->waiting_for_keyframe) {
-#else
- if (!self->caps_sent) {
-#endif
gst_buffer_unref (out);
out = NULL;
GST_INFO_OBJECT (self, "Dropping inter-frame before intra-frame");
gst_pad_set_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (depay), srccaps);
gst_caps_unref (srccaps);
-#ifndef TIZEN_FEATURE_GST_UPSTREAM
- self->caps_sent = TRUE;
-#endif
+
self->last_width = width;
self->last_height = height;
self->last_profile = profile;
}
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
self->waiting_for_keyframe = FALSE;
-#endif
}
return out;
self->last_profile = -1;
self->last_height = -1;
self->last_width = -1;
-#ifdef TIZEN_FEATURE_GST_UPSTREAM
self->waiting_for_keyframe = TRUE;
-#else
- self->caps_sent = FALSE;
-#endif
break;
default:
break;