mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 04:52:28 +00:00
Remove media specific seeking type in favour of unit. xvimage compile fix.
Original commit message from CVS: Remove media specific seeking type in favour of unit. xvimage compile fix.
This commit is contained in:
parent
8b33f6ca93
commit
05c26d51a3
2 changed files with 21 additions and 19 deletions
|
@ -338,7 +338,7 @@ gst_mad_convert_src (GstPad *pad, GstFormat src_format, gint64 src_value,
|
||||||
switch (src_format) {
|
switch (src_format) {
|
||||||
case GST_FORMAT_BYTES:
|
case GST_FORMAT_BYTES:
|
||||||
switch (*dest_format) {
|
switch (*dest_format) {
|
||||||
case GST_FORMAT_SAMPLES:
|
case GST_FORMAT_UNIT:
|
||||||
if (bytes_per_sample == 0)
|
if (bytes_per_sample == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
*dest_value = src_value / bytes_per_sample;
|
*dest_value = src_value / bytes_per_sample;
|
||||||
|
@ -358,7 +358,7 @@ gst_mad_convert_src (GstPad *pad, GstFormat src_format, gint64 src_value,
|
||||||
res = FALSE;
|
res = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GST_FORMAT_SAMPLES:
|
case GST_FORMAT_UNIT:
|
||||||
switch (*dest_format) {
|
switch (*dest_format) {
|
||||||
case GST_FORMAT_BYTES:
|
case GST_FORMAT_BYTES:
|
||||||
*dest_value = src_value * bytes_per_sample;
|
*dest_value = src_value * bytes_per_sample;
|
||||||
|
@ -381,7 +381,7 @@ gst_mad_convert_src (GstPad *pad, GstFormat src_format, gint64 src_value,
|
||||||
case GST_FORMAT_BYTES:
|
case GST_FORMAT_BYTES:
|
||||||
scale = bytes_per_sample;
|
scale = bytes_per_sample;
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
case GST_FORMAT_SAMPLES:
|
case GST_FORMAT_UNIT:
|
||||||
*dest_value = src_value * scale * mad->frame.header.samplerate / GST_SECOND;
|
*dest_value = src_value * scale * mad->frame.header.samplerate / GST_SECOND;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -413,7 +413,7 @@ gst_mad_src_query (GstPad *pad, GstPadQueryType type,
|
||||||
*format = GST_FORMAT_TIME;
|
*format = GST_FORMAT_TIME;
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
case GST_FORMAT_BYTES:
|
case GST_FORMAT_BYTES:
|
||||||
case GST_FORMAT_SAMPLES:
|
case GST_FORMAT_UNIT:
|
||||||
case GST_FORMAT_TIME:
|
case GST_FORMAT_TIME:
|
||||||
{
|
{
|
||||||
res = FALSE;
|
res = FALSE;
|
||||||
|
@ -457,13 +457,13 @@ gst_mad_src_query (GstPad *pad, GstPadQueryType type,
|
||||||
GstFormat time_format;
|
GstFormat time_format;
|
||||||
gint64 samples;
|
gint64 samples;
|
||||||
|
|
||||||
time_format = GST_FORMAT_SAMPLES;
|
time_format = GST_FORMAT_UNIT;
|
||||||
res = gst_mad_convert_src (pad,
|
res = gst_mad_convert_src (pad,
|
||||||
GST_FORMAT_TIME, mad->base_time,
|
GST_FORMAT_TIME, mad->base_time,
|
||||||
&time_format, &samples);
|
&time_format, &samples);
|
||||||
/* we only know about our samples, convert to requested format */
|
/* we only know about our samples, convert to requested format */
|
||||||
res &= gst_mad_convert_src (pad,
|
res &= gst_mad_convert_src (pad,
|
||||||
GST_FORMAT_SAMPLES, mad->total_samples + samples,
|
GST_FORMAT_UNIT, mad->total_samples + samples,
|
||||||
format, value);
|
format, value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -217,7 +217,6 @@ gst_mpeg2dec_vo_frame_draw (vo_frame_t * frame)
|
||||||
|
|
||||||
GST_BUFFER_TIMESTAMP (_frame->buffer) = pts;
|
GST_BUFFER_TIMESTAMP (_frame->buffer) = pts;
|
||||||
|
|
||||||
/* g_print ("out: %lld\n", GST_BUFFER_TIMESTAMP (_frame->buffer)); */
|
|
||||||
GST_DEBUG (0, "out: %lld %d %lld", GST_BUFFER_TIMESTAMP (_frame->buffer),
|
GST_DEBUG (0, "out: %lld %d %lld", GST_BUFFER_TIMESTAMP (_frame->buffer),
|
||||||
mpeg2dec->decoder->frame_rate_code,
|
mpeg2dec->decoder->frame_rate_code,
|
||||||
(long long)(GST_SECOND / video_rates[mpeg2dec->decoder->frame_rate_code]));
|
(long long)(GST_SECOND / video_rates[mpeg2dec->decoder->frame_rate_code]));
|
||||||
|
@ -444,12 +443,12 @@ gst_mpeg2dec_chain (GstPad *pad, GstBuffer *buf)
|
||||||
if (GST_IS_EVENT (buf)) {
|
if (GST_IS_EVENT (buf)) {
|
||||||
GstEvent *event = GST_EVENT (buf);
|
GstEvent *event = GST_EVENT (buf);
|
||||||
|
|
||||||
switch (event->type) {
|
switch (GST_EVENT_TYPE (event)) {
|
||||||
case GST_EVENT_DISCONTINUOUS:
|
case GST_EVENT_DISCONTINUOUS:
|
||||||
{
|
{
|
||||||
//gint64 value = GST_EVENT_DISCONT_OFFSET (event, 0).value;
|
//gint64 value = GST_EVENT_DISCONT_OFFSET (event, 0).value;
|
||||||
//mpeg2dec->decoder->is_sequence_needed = 1;
|
//mpeg2dec->decoder->is_sequence_needed = 1;
|
||||||
/* g_print ("mpeg2dec: discont %lld\n", value); */
|
GST_DEBUG (GST_CAT_EVENT, "mpeg2dec: discont\n");
|
||||||
mpeg2dec->first = TRUE;
|
mpeg2dec->first = TRUE;
|
||||||
mpeg2dec->frames_per_PTS = 0;
|
mpeg2dec->frames_per_PTS = 0;
|
||||||
mpeg2dec->last_PTS = -1;
|
mpeg2dec->last_PTS = -1;
|
||||||
|
@ -508,6 +507,13 @@ gst_mpeg2dec_chain (GstPad *pad, GstBuffer *buf)
|
||||||
if (mpeg2dec->next_time < pts) {
|
if (mpeg2dec->next_time < pts) {
|
||||||
mpeg2dec->next_time = pts;
|
mpeg2dec->next_time = pts;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
if (mpeg2dec->last_PTS < pts) {
|
||||||
|
mpeg2dec->next_time = pts;
|
||||||
|
g_print ("** adjust next_time %lld %lld\n", mpeg2dec->last_PTS, pts);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
mpeg2dec->last_PTS = pts;
|
mpeg2dec->last_PTS = pts;
|
||||||
|
|
||||||
|
|
||||||
|
@ -588,16 +594,14 @@ gst_mpeg2dec_convert_src (GstPad *pad, GstFormat src_format, gint64 src_value,
|
||||||
*dest_value = src_value * 6 * (mpeg2dec->width * mpeg2dec->height >> 2) *
|
*dest_value = src_value * 6 * (mpeg2dec->width * mpeg2dec->height >> 2) *
|
||||||
video_rates[mpeg2dec->decoder->frame_rate_code] / GST_SECOND;
|
video_rates[mpeg2dec->decoder->frame_rate_code] / GST_SECOND;
|
||||||
break;
|
break;
|
||||||
case GST_FORMAT_FRAMES:
|
case GST_FORMAT_UNIT:
|
||||||
case GST_FORMAT_FIELDS:
|
|
||||||
*dest_value = src_value * video_rates[mpeg2dec->decoder->frame_rate_code] / GST_SECOND;
|
*dest_value = src_value * video_rates[mpeg2dec->decoder->frame_rate_code] / GST_SECOND;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
res = FALSE;
|
res = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GST_FORMAT_FRAMES:
|
case GST_FORMAT_UNIT:
|
||||||
case GST_FORMAT_FIELDS:
|
|
||||||
switch (*dest_format) {
|
switch (*dest_format) {
|
||||||
case GST_FORMAT_DEFAULT:
|
case GST_FORMAT_DEFAULT:
|
||||||
*dest_format = GST_FORMAT_TIME;
|
*dest_format = GST_FORMAT_TIME;
|
||||||
|
@ -612,8 +616,7 @@ gst_mpeg2dec_convert_src (GstPad *pad, GstFormat src_format, gint64 src_value,
|
||||||
case GST_FORMAT_BYTES:
|
case GST_FORMAT_BYTES:
|
||||||
*dest_value = src_value * 6 * (mpeg2dec->width * mpeg2dec->height >> 2);
|
*dest_value = src_value * 6 * (mpeg2dec->width * mpeg2dec->height >> 2);
|
||||||
break;
|
break;
|
||||||
case GST_FORMAT_FRAMES:
|
case GST_FORMAT_UNIT:
|
||||||
case GST_FORMAT_FIELDS:
|
|
||||||
*dest_value = src_value;
|
*dest_value = src_value;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -647,8 +650,7 @@ gst_mpeg2dec_src_query (GstPad *pad, GstPadQueryType type,
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
case GST_FORMAT_TIME:
|
case GST_FORMAT_TIME:
|
||||||
case GST_FORMAT_BYTES:
|
case GST_FORMAT_BYTES:
|
||||||
case GST_FORMAT_FRAMES:
|
case GST_FORMAT_UNIT:
|
||||||
case GST_FORMAT_FIELDS:
|
|
||||||
{
|
{
|
||||||
res = FALSE;
|
res = FALSE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue