Dark Shikari
18th August 2007, 02:31
I'm DirectShowSourcing a WMCMD.vbs-encoded .wmv file, with VC-1 codec.
It takes 1 minute to open the file, and after about 19 seconds of playback it hangs, just showing the last frame over and over for the rest of the video (even in Virtualdub, when transcoding!)
I've even tried using seek=false, and setting framecount and fps manually.
Here's what the logs say. Note the timestamps:
00:00:00.336 010 0x01317DA0 StartGraph(video) ... exit 0x0
00:00:31.549 002 0x01317DA0 Receive: video sample time span x100ns 200330000 to 200670000 (340000)
00:00:31.549 200 0x01317DA0 ...Receive() waiting for DoneWithSample. (video)
00:00:31.549 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.549 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.549 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.549 008 0x01317DA0 GetSample::Stop(), state was 2
00:00:31.549 100 0x01317DA0 Receive() - returning. (video)
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::Pause(), state was 0
00:00:31.556 002 0x01317DA0 GetSample::NewSegment(0, 385660000, 1.000000) (video)
00:00:31.556 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.556 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.556 008 0x01317DA0 GetSample::Run(1000000), state was 1
00:00:31.556 005 0x01317D98 Directshow duration 385660000, frame_count 0.
00:00:31.556 005 0x01317D98 New Video: 1280x720, frame_count=1157, pixel type=a0000008.
00:00:31.556 fff 0x00000000 Close Create_DirectShowSource log 2.
00:00:31.559 004 0x01317D98 GetFrame: Frame 0 time 0x100ns.
00:00:31.559 004 0x01317D98 GetFrame: Frame time span x100ns 0 to 0
00:01:02.775 002 0x01317DA0 Receive: video sample time span x100ns 200330000 to 200670000 (340000)
(It plays just fine in Media Player Classic, by the way)
It takes 1 minute to open the file, and after about 19 seconds of playback it hangs, just showing the last frame over and over for the rest of the video (even in Virtualdub, when transcoding!)
I've even tried using seek=false, and setting framecount and fps manually.
Here's what the logs say. Note the timestamps:
00:00:00.336 010 0x01317DA0 StartGraph(video) ... exit 0x0
00:00:31.549 002 0x01317DA0 Receive: video sample time span x100ns 200330000 to 200670000 (340000)
00:00:31.549 200 0x01317DA0 ...Receive() waiting for DoneWithSample. (video)
00:00:31.549 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.549 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.549 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.549 008 0x01317DA0 GetSample::Stop(), state was 2
00:00:31.549 100 0x01317DA0 Receive() - returning. (video)
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.552 008 0x01317DA0 GetSample::Pause(), state was 0
00:00:31.556 002 0x01317DA0 GetSample::NewSegment(0, 385660000, 1.000000) (video)
00:00:31.556 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.556 008 0x01317DA0 GetSample::ConnectedTo() is 0x00327e2c
00:00:31.556 008 0x01317DA0 GetSample::Run(1000000), state was 1
00:00:31.556 005 0x01317D98 Directshow duration 385660000, frame_count 0.
00:00:31.556 005 0x01317D98 New Video: 1280x720, frame_count=1157, pixel type=a0000008.
00:00:31.556 fff 0x00000000 Close Create_DirectShowSource log 2.
00:00:31.559 004 0x01317D98 GetFrame: Frame 0 time 0x100ns.
00:00:31.559 004 0x01317D98 GetFrame: Frame time span x100ns 0 to 0
00:01:02.775 002 0x01317DA0 Receive: video sample time span x100ns 200330000 to 200670000 (340000)
(It plays just fine in Media Player Classic, by the way)