gst_element_seek fails with alawdec
Jesu Anuroop Suresh
jesuas at gmail.com
Thu Sep 22 23:30:05 PDT 2011
Hi
Below is the pipeline
gst-launch -v filesrc location=give_me_jesus.alaw ! audio/x-alaw,
rate=44100, channels=2 ! alawdec ! alsasink
It fails for gst_element_seek
Below is the code for the seek
ff - 1 for forward, 0 for backward
time_seconds = number of seconds to seek
This same code is working with the mp3 pipeline
static void seekMediaTime (int ff, int time_seconds)
{
gint64 start_pos, stop_pos, rate;
gint64 start_flag, stop_flag;
gint64 pos, len, tmp = 0;
gint64 timeFf = FF_SPEED_BASE;
GstFormat fmt = GST_FORMAT_TIME;
if (!gst_element_query_duration (recordEng.recPipeline, &fmt, &len) ||
!gst_element_query_position (recordEng.recPipeline, &fmt, &pos))
{
printf ("%s: %d Query Failed\r\n",__func__,__LINE__);
return;
}
if (ff == 1)
{
timeFf = ((gint64)FF_SPEED_BASE * time_seconds);
if ((len <= (pos + timeFf)) || (len == pos))
timeFf = 0;
else
tmp = pos + timeFf;
printf ("FORWARDWORD BY:%llu\r\n",timeFf);
}
else
{
timeFf = ((gint64)FF_SPEED_BASE * time_seconds);
if ((pos <= timeFf) || (len == pos))
timeFf = 0;
else
tmp = (pos - timeFf);
printf ("BACKWORD BY:%llu\r\n",timeFf);
}
g_print ("Current Pos Time: %llu %llu\r\n",pos,len);
g_print ("Set Pos Time: %llu\r\n",tmp);
timeFf = tmp;
rate = 1.0;
start_pos = timeFf;
start_flag = GST_SEEK_TYPE_SET;
stop_flag = GST_SEEK_TYPE_NONE;
stop_pos = GST_CLOCK_TIME_NONE;
if (!gst_element_seek (recordEng.recPipeline, rate,
GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,
start_flag, start_pos,
stop_flag, stop_pos))
{
g_print ("Seek failed!\r\n");
}
else
{
g_print ("Time: %" GST_TIME_FORMAT " / %"
GST_TIME_FORMAT "\r\n",
GST_TIME_ARGS (pos), GST_TIME_ARGS (len));
/* We will wait til it is running or failed */
if (gst_element_get_state (recordEng.recPipeline,
NULL, NULL, -1) == GST_STATE_CHANGE_FAILURE)
{
g_print ("Failed to go into PLAYING state\r\n");
}
}
}
Regards
Jesu Anuroop Suresh
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gst-element-seek-fails-with-alawdec-tp3835910p3835910.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list