headers prepended during raw to ADTS
conversion */
-#ifdef GST_EXT_AACPARSE_MODIFICATION /* to get more accurate duration */
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION /* to get more accurate duration */
#define AAC_MAX_ESTIMATE_DURATION_BUF (1024 * 1024) /* use first 1 Mbyte */
#define AAC_SAMPLE_PER_FRAME 1024
static GstFlowReturn gst_aac_parse_pre_push_frame (GstBaseParse * parse,
GstBaseParseFrame * frame);
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
static guint gst_aac_parse_adts_get_fast_frame_len (const guint8 * data);
static gboolean gst_aac_parse_src_eventfunc(GstBaseParse * parse,
GstEvent * event);
G_DEFINE_TYPE (GstAacParse, gst_aac_parse, GST_TYPE_BASE_PARSE);
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
static inline gint
gst_aac_parse_get_sample_rate_from_index (guint sr_idx)
{
parse_class->handle_frame = GST_DEBUG_FUNCPTR (gst_aac_parse_handle_frame);
parse_class->pre_push_frame =
GST_DEBUG_FUNCPTR (gst_aac_parse_pre_push_frame);
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
/* make full aac(adts) index table when seek */
parse_class->src_event = GST_DEBUG_FUNCPTR (gst_aac_parse_src_eventfunc);
#endif
GST_DEBUG ("initialized");
GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (aacparse));
GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (aacparse));
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
/* to get more correct duration */
aacparse->first_frame = TRUE;
#endif
gst_base_parse_set_frame_rate (GST_BASE_PARSE (aacparse),
aacparse->sample_rate, aacparse->frame_samples, 2, 2);
}
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
if (aacparse->first_frame == TRUE) {
gboolean ret = FALSE;
aacparse->first_frame = FALSE;
aacparse->sample_rate, aacparse->frame_samples, 2, 2);
}
}
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
else if(aacparse->header_type == DSPAAC_HEADER_ADIF)
{
/* to get more correct duration */
return res;
}
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
/**
* get_aac_parse_get_adts_framelength:
* @data: #GstBufferData.
handled = GST_BASE_PARSE_CLASS (parent_class)->src_event (parse, event);
return handled;
}
-#endif //end of #ifdef GST_EXT_AACPARSE_MODIFICATION
\ No newline at end of file
+#endif //end of #ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
\ No newline at end of file
gint mpegversion;
gint frame_samples;
-#ifdef GST_EXT_AACPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_AACPARSE_MODIFICATION
gboolean first_frame; /* estimate duration once at the first time */
guint hdr_bitrate; /* estimated bitrate (bps) */
guint spf; /* samples per frame = frame_samples */
#define MIN_FRAME_SIZE 6
-#ifdef GST_EXT_MP3PARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_MP3PARSE_MODIFICATION
#define DEFAULT_CHECK_HTTP_SEEK FALSE
/* Property */
static gboolean gst_mpeg_audio_parse_start (GstBaseParse * parse);
static gboolean gst_mpeg_audio_parse_stop (GstBaseParse * parse);
-#ifdef GST_EXT_MP3PARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_MP3PARSE_MODIFICATION
static void gst_mpeg_audio_parse_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
static void gst_mpeg_audio_parse_get_property (GObject * object, guint prop_id,
parse_class->get_sink_caps =
GST_DEBUG_FUNCPTR (gst_mpeg_audio_parse_get_sink_caps);
-#ifdef GST_EXT_MP3PARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_MP3PARSE_MODIFICATION
object_class->set_property = gst_mpeg_audio_parse_set_property;
object_class->get_property = gst_mpeg_audio_parse_get_property;
gst_mpeg_audio_parse_reset (mp3parse);
-#ifdef GST_EXT_MP3PARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_MP3PARSE_MODIFICATION
if (mp3parse->http_seek_flag) {
/* Don't need Accurate Seek table (in http pull mode) */
GST_INFO_OBJECT (parse, "Enable (1) : mp3parse->http_seek_flag");
return TRUE;
}
-#ifdef GST_EXT_MP3PARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_MP3PARSE_MODIFICATION
static void
gst_mpeg_audio_parse_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
return res;
}
-#ifdef GST_EXT_MP3PARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_MP3PARSE_MODIFICATION
/**
* gst_mpeg_audio_parse_src_eventfunc:
* @parse: #GstBaseParse. #event
/* LAME info */
guint32 encoder_delay;
guint32 encoder_padding;
-#ifdef GST_EXT_MP3PARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_MP3PARSE_MODIFICATION
/* Additional info */
gboolean http_seek_flag;
#endif
demux->taglist = gst_tag_list_new_empty ();
gst_tag_list_add (demux->taglist, GST_TAG_MERGE_REPLACE,
GST_TAG_AUDIO_CODEC, codec_name, NULL);
-#ifdef GST_EXT_FLVDEMUX_MODIFICATION
+#ifdef TIZEN_FEATURE_FLVDEMUX_MODIFICATION
GST_DEBUG_OBJECT (demux, "post tag msg %" GST_PTR_FORMAT,
demux->taglist);
stream->pending_tags);
gst_pad_push_event (stream->pad,
gst_event_new_tag (stream->pending_tags));
-#ifdef GST_EXT_QTDEMUX_MODIFICATION
+#ifdef TIZEN_FEATURE_QTDEMUX_MODIFICATION
/* post message qtdemux tag (for early recive application) */
gst_element_post_message (GST_ELEMENT_CAST (qtdemux),
gst_message_new_tag (GST_OBJECT_CAST (qtdemux),
guint64 media_time;
QtDemuxSegment *segment;
guint32 rate_int;
-#ifdef GST_UPSTREAM
+#ifdef TIZEN_FEATURE_GST_UPSTREAM
GstClockTime media_start = GST_CLOCK_TIME_NONE;
#endif
media_time = QT_UINT32 (buffer + 20 + i * 12);
duration = QT_UINT32 (buffer + 16 + i * 12);
-#ifdef GST_UPSTREAM
+#ifdef TIZEN_FEATURE_GST_UPSTREAM
if (media_time != G_MAXUINT32)
media_start = QTSTREAMTIME_TO_GSTTIME (stream, media_time);
#endif
/* time and duration expressed in global timescale */
segment->time = stime;
/* add non scaled values so we don't cause roundoff errors */
-#ifdef GST_UPSTREAM
+#ifdef TIZEN_FEATURE_GST_UPSTREAM
if (duration || media_start == GST_CLOCK_TIME_NONE) {
time += duration;
stime = QTTIME_TO_GSTTIME (qtdemux, time);
#endif
segment->stop_time = stime;
-#ifndef GST_UPSTREAM
+#ifndef TIZEN_FEATURE_GST_UPSTREAM
segment->duration = stime - segment->time;
#endif
segment->trak_media_start = media_time;
/* media_time expressed in stream timescale */
if (media_time != G_MAXUINT32) {
-#ifdef GST_UPSTREAM
+#ifdef TIZEN_FEATURE_GST_UPSTREAM
segment->media_start = media_start;
#else
segment->media_start = QTSTREAMTIME_TO_GSTTIME (stream, media_time);
const gst_riff_acid *acid = NULL;
const guint data_size = sizeof (gst_riff_acid);
gfloat tempo;
-#ifdef GST_EXT_WAVPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_WAVPARSE_MODIFICATION
const guint8 *data = NULL;
#endif
goto exit;
}
gst_adapter_flush (wav->adapter, 8);
-#ifdef GST_EXT_WAVPARSE_MODIFICATION
+#ifdef TIZEN_FEATURE_WAVPARSE_MODIFICATION
if (gst_adapter_available (wav->adapter) < 24) {
goto exit;
}
Name: gst-plugins-good
Version: 1.6.1
-Release: 11
+Release: 12
License: LGPL-2.1+
Summary: GStreamer Streaming-Media Framework Plug-Ins
Url: http://gstreamer.freedesktop.org/
# warning: failed to load external entity "xml/plugin-video4linux2.xml"
export V=1
NOCONFIGURE=1 ./autogen.sh
-export CFLAGS+=" -DGST_EXT_V4L2SRC_MODIFIED\
- -DGST_EXT_WAVPARSE_MODIFICATION\
- -DGST_EXT_MP3PARSE_MODIFICATION\
- -DGST_EXT_AACPARSE_MODIFICATION\
- -DGST_EXT_QTDEMUX_MODIFICATION\
- -DGST_EXT_FLVDEMUX_MODIFICATION\
- -DGST_UPSTREAM\
+export CFLAGS+=" -DTIZEN_FEATURE_V4L2SRC_MODIFICATION\
+ -DTIZEN_FEATURE_WAVPARSE_MODIFICATION\
+ -DTIZEN_FEATURE_MP3PARSE_MODIFICATION\
+ -DTIZEN_FEATURE_AACPARSE_MODIFICATION\
+ -DTIZEN_FEATURE_QTDEMUX_MODIFICATION\
+ -DTIZEN_FEATURE_FLVDEMUX_MODIFICATION\
+ -DTIZEN_FEATURE_GST_UPSTREAM\
-DTIZEN_FEATURE_GST_MUX_ENHANCEMENT"
%configure\
%if ! 0%{?ENABLE_AALIB}
#include <string.h>
#include <errno.h>
#include <unistd.h>
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
#include <glob.h>
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
#ifdef __sun
/* Needed on older Solaris Nevada builds (72 at least) */
#include <stropts.h>
#include "gst/gst-i18n-plugin.h"
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
enum {
V4L2_OPEN_ERROR = 0,
V4L2_OPEN_ERROR_STAT_FAILED,
V4L2_OPEN_ERROR_NOT_CAPTURE,
V4L2_OPEN_ERROR_NOT_OUTPUT
};
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
#define GST_CAT_DEFAULT v4l2_debug
{
struct stat st;
int libv4l2_fd;
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
int error_type = V4L2_OPEN_ERROR_STAT_FAILED;
int device_index = 0;
glob_t glob_buf;
GST_ERROR("v4l2object is NULL");
return FALSE;
}
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
GST_DEBUG_OBJECT (v4l2object->element, "Trying to open device %s",
v4l2object->videodev);
if (!v4l2object->videodev)
v4l2object->videodev = g_strdup ("/dev/video");
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
if (!v4l2object->videodev) {
GST_ERROR_OBJECT(v4l2object->element, "videodev is NULL");
return FALSE;
}
CHECK_AGAIN:
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
/* check if it is a device */
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
if (stat (v4l2object->videodev, &st) == -1) {
error_type = V4L2_OPEN_ERROR_STAT_FAILED;
goto pre_error_check;
}
-#else /* GST_EXT_V4L2SRC_MODIFIED */
+#else /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (stat (v4l2object->videodev, &st) == -1)
goto stat_failed;
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
if (!S_ISCHR (st.st_mode)) {
error_type = V4L2_OPEN_ERROR_NO_DEVICE;
goto pre_error_check;
}
-#else /* GST_EXT_V4L2SRC_MODIFIED */
+#else /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (!S_ISCHR (st.st_mode))
goto no_device;
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
/* open the device */
v4l2object->video_fd =
open (v4l2object->videodev, O_RDWR /* | O_NONBLOCK */ );
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
if (!GST_V4L2_IS_OPEN (v4l2object)) {
error_type = V4L2_OPEN_ERROR_NOT_OPEN;
goto pre_error_check;
}
-#else /* GST_EXT_V4L2SRC_MODIFIED */
+#else /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (!GST_V4L2_IS_OPEN (v4l2object))
goto not_open;
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
libv4l2_fd = v4l2_fd_open (v4l2object->video_fd,
V4L2_ENABLE_ENUM_FMT_EMULATION);
v4l2object->video_fd = libv4l2_fd;
/* get capabilities, error will be posted */
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
if (!gst_v4l2_get_capabilities (v4l2object)) {
error_type = V4L2_OPEN_ERROR;
goto pre_error_check;
}
-#else /* GST_EXT_V4L2SRC_MODIFIED */
+#else /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (!gst_v4l2_get_capabilities (v4l2object))
goto error;
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
/* do we need to be a capture device? */
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
GST_INFO_OBJECT(v4l2object->element, "capabilities 0x%x", v4l2object->vcap.capabilities);
if (GST_IS_V4L2SRC (v4l2object->element) &&
(!(v4l2object->vcap.capabilities & (V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_CAPTURE_MPLANE)) ||
error_type = V4L2_OPEN_ERROR_NOT_CAPTURE;
goto pre_error_check;
}
-#else /* GST_EXT_V4L2SRC_MODIFIED */
+#else /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (GST_IS_V4L2SRC (v4l2object->element) &&
!(v4l2object->vcap.capabilities & (V4L2_CAP_VIDEO_CAPTURE |
V4L2_CAP_VIDEO_CAPTURE_MPLANE)))
goto not_capture;
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
if (GST_IS_V4L2SINK (v4l2object->element) &&
!(v4l2object->vcap.capabilities & (V4L2_CAP_VIDEO_OUTPUT |
V4L2_CAP_VIDEO_OUTPUT_MPLANE))) {
error_type = V4L2_OPEN_ERROR_NOT_OUTPUT;
goto pre_error_check;
}
-#else /* GST_EXT_V4L2SRC_MODIFIED */
+#else /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (GST_IS_V4L2SINK (v4l2object->element) &&
!(v4l2object->vcap.capabilities & (V4L2_CAP_VIDEO_OUTPUT |
V4L2_CAP_VIDEO_OUTPUT_MPLANE)))
goto not_output;
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (GST_IS_V4L2_VIDEO_DEC (v4l2object->element) &&
/* Today's M2M device only expose M2M */
gst_v4l2_adjust_buf_type (v4l2object);
/* create enumerations, posts errors. */
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
if (!gst_v4l2_fill_lists (v4l2object)) {
error_type = V4L2_OPEN_ERROR;
goto pre_error_check;
}
-#else /* GST_EXT_V4L2SRC_MODIFIED */
+#else /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
if (!gst_v4l2_fill_lists (v4l2object))
goto error;
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
GST_INFO_OBJECT (v4l2object->element,
"Opened device '%s' (%s) successfully",
if (v4l2object->extra_controls)
gst_v4l2_set_controls (v4l2object, v4l2object->extra_controls);
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
globfree(&glob_buf);
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
/* UVC devices are never interlaced, and doing VIDIOC_TRY_FMT on them
* causes expensive and slow USB IO, so don't probe them for interlaced
return TRUE;
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
pre_error_check:
{
if (GST_IS_V4L2SRC(v4l2object->element) && glob_buf.gl_pathc == 0) {
goto error;
}
}
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
/* ERRORS */
stat_failed:
/* empty lists */
gst_v4l2_empty_lists (v4l2object);
-#ifdef GST_EXT_V4L2SRC_MODIFIED
+#ifdef TIZEN_FEATURE_V4L2SRC_MODIFICATION
globfree(&glob_buf);
-#endif /* GST_EXT_V4L2SRC_MODIFIED */
+#endif /* TIZEN_FEATURE_V4L2SRC_MODIFICATION */
return FALSE;
}