Note: Forums will be making significant UX changes to address key usability improvements surrounding search, discoverability and navigation. To learn more about these changes please visit the announcement which can be found HERE.

제안된 답변 Fast forwarding

  • 2012년 2월 13일 월요일 오후 2:06
     
     

    Using ImediaPosition::set_rate()

    the max rate supported seems to be only 2.0. I believe this is due to a limitation in the audio renderer. A video without audio, set_rate doesn't seem to work at all. I was thinking of disconnecting the audio renderer whilst the graph was running (dynamic reconnection) to remove the 2.0 limitation but I am not even sure this would work, as the clock is connected to the audio renderer.

    How can we set a rate faster than 2.0 ?

    The dvd navigator seems to do it somehow. You can get 16x fast forward speeds using

    IDvdControl2::PlayForwards()

모든 응답

  • 2012년 2월 18일 토요일 오후 5:50
     
     제안된 답변

    There are 2 ways to fast forward: increase the rate or cheat with the timestamps and delivered frames in the splitter. I believe the DVD navigator uses the second trick, which however is fornat- and filter-specific.

    Since the limitation is indeed in the audio renderer, disconnecting it works. Hooking its SetRate() method to fake an S_OK return works, too, but it's a hack.


    <http://www.riseoftheants.com/mmx/faq.htm>

    • 답변으로 제안됨 Alessandro Angeli 2012년 6월 1일 금요일 오후 10:11
    •  
  • 2012년 2월 19일 일요일 오후 11:41
     
     
    Thanks for the reply, messing with the time stamps is not an option. Is there any documention or blogs or anything on the hooking set rate and disconnecting the audio renderer ? There must be a better solution somehow. If i disconnect the audio renderer, what happens to the clock ?
    • 편집됨 dukeeeey 2012년 2월 19일 일요일 오후 11:59
    •  
  • 2012년 3월 1일 목요일 오후 10:29
     
     

    I haven't investigated what happens to the clock, but it seems to work, so I assume either the renderer or the graph falls back to the system clock.

    I have written several posts about API hooking (just search Google Groups) and I have some info in FAQ.


    <http://www.riseoftheants.com/mmx/faq.htm>