| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Vasiliy Участник
Зарегистрирован: 01.04.2007 Сообщения: 19
|
Добавлено: Пт Июн 15, 2007 10:36 pm Заголовок сообщения: Как получить ключевые кадры |
|
|
Необходимо пробежаться по всем ключевым кадрам и сохранить необходимые.
Пытался использовать IMediaSeeking.SetPositions с ключем AM_SEEKING_SeekToKeyFrame, ничего не выходит
Кто знает, подскажите ...
Пожалуйста! |
|
| Вернуться к началу |
|
 |
Vasiliy Участник
Зарегистрирован: 01.04.2007 Сообщения: 19
|
Добавлено: Вс Июн 17, 2007 1:15 pm Заголовок сообщения: |
|
|
Похоже понял в чем ошибка.
IMediaSeeking.SetPositions с ключем AM_SEEKING_SeekToKeyFrame возвращает ключевую позицию, но не устанавливает её  |
|
| Вернуться к началу |
|
 |
Squid Участник
Зарегистрирован: 03.12.2006 Сообщения: 11
|
Добавлено: Чт Июн 28, 2007 5:21 pm Заголовок сообщения: |
|
|
| а я ничо не понял.... вы знаете как узнать какой кадр ключевой или реально установился или нет? |
|
| Вернуться к началу |
|
 |
Vasiliy Участник
Зарегистрирован: 01.04.2007 Сообщения: 19
|
Добавлено: Пт Июн 29, 2007 5:08 pm Заголовок сообщения: |
|
|
P, S: int64;
IMediaSeeking.SetPosition(P, AM_SEEKING_SeekToKeyFrame, S, AM_SEEKING_NoPositioning);
эта функция возвращает позицию ключевого кадра следующего за позицией P и я так понял не перемещает в эту позицию.
Далее вызываем еще раз SetPosition и устанавливаем позицию P, тоесть ключевого кадра
IMediaSeeking.SetPosition(P, AM_SEEKING_AbsolutePositioning, S, AM_SEEKING_NoPositioning); |
|
| Вернуться к началу |
|
 |
Squid Участник
Зарегистрирован: 03.12.2006 Сообщения: 11
|
Добавлено: Пт Июн 29, 2007 5:22 pm Заголовок сообщения: |
|
|
а у меня не работает на некоторых форматах. я сделал callback у Sample Grabber и проверяю IMediaSample::IsSyncPoint и теперь все OK  |
|
| Вернуться к началу |
|
 |
|