locked
MFCopy: One more alarming bug in Windows 8/8.1 RRS feed

  • Question

  • One more Windows 8/8.1  bug. This is alarming. Basic functionality broken.

    Basically, MFCopy "trim" does not work in Windows 8/8.1. Works fine on Windows 7.

    Steps to reproduce:

    MFCopy  -s 20000 -d 60000 input.mp4 out.mp4

    Please see the output files (out_win8.mp4, out_win7.mp4) here:

    https://drive.google.com/file/d/0Bxyb9Iftjh4DX1FsVENJWWt4Q3M/view?usp=sharing

    The duration of out_win8.mp4 is 1:19 (incorrect) whereas the duration of out_win7 is 1:00 (correct)

    MS developers, Please check this.

    Monday, October 20, 2014 11:12 AM

All replies

  • Really? I posted a very basic functionality issue and still no response?
    Tuesday, October 21, 2014 3:05 AM
  • I have submitted a bug for it. Might be regression in the finalization logic, because the converted file has the same duration, if the '-d' switch is not used.
    Wednesday, October 22, 2014 9:56 PM
  • Thank you. I'd appreciate any updates. I am willing to test if your team needs it as well.
    Thursday, October 23, 2014 6:31 AM
  • Thank you for pointing out the bug. The general issue is that the MFCopy doesn't adjust the decode timestamp (MFSampleExtension_DecodeTimestamp) on the sample that is passed in. Simply adding the lines

    if ( SUCCEEDED( pSample->GetUINT64( MFSampleExtension_DecodeTimestamp, &ullDecodeTimestamp ) ) )
    {
        CHECK_HR( pSample->SetUINT64( MFSampleExtension_DecodeTimestamp, ullDecodeTimestamp - m_llTimestampAdjustment ) );
    }

    After the call to SetSampleTime will fix the issue.


    -- David

    Friday, October 31, 2014 8:04 PM
  • I just saw this.

    Wow! this fix indeed works! Many thanks.

    Friday, December 12, 2014 9:24 AM