Hi Donin these days we have a customer that is using our material under MediaComposer and our plugin doesn't work on his machine.Customer have a PC equipped with Window 7 Professional SP1 English Version with MediaComposer 8.3.1.I made some test with Media Composer 8.3.0 under Windows 8.1 and all works fine excluding the exporting problem I solved as reported in other section of this forum. Now the problem is that the customer doesn't see the images; that is it can import correctly, all data displayed are ok, but the preview window remains green(same result if he drags clip on timeline). So I equipped a PC with some OS (Window 7 Professional SP1 English Version) and installed initially Media Composer 8.3.1 and experienced the same problem.So I make this other test: Uninstalled Media Composer 8.3.1 and installed MC 8.3.0. Well, importing clip now all works fine. Same results with Windows 8.1 professional. At this point there should be some little variations that prevent decding. In order to debug I inserted an OutputDebugString in every function. The clip is long 400 frames and dragging it frombin to preview I see two calls to SampleMapping:: GetSamplePosition for track 0 (video track).One for sample 0 and one for sample 400. But noSampleMapping::ProvideSampleRange calls andconsequently no decoding.
Any suggestion ?
Hi
I made some further inquiry and found that sequence of calls change from MC8.3.0 to MC 8.3.1
In detail MC 8.3.0:
00000001 6.88041544 [4672] NewPclipFromFilePath BLT header read 00000002 6.88103771 [4672] Read BLT header ok (401) 00000003 6.88148451 [4672] NewPclipFromFilePath BLT header read 00000004 6.88152409 [4672] Read BLT header ok (401) 00000005 10.71132088 [4672] MVP_MSP_BLTAPlugin V 2.00.F 64 bit version beta 00000006 10.71135712 [4672] BLTAPluginSampleMapping::InitializeInstance 00000007 10.71159363 [4672] BLTAPluginSampleMapping::SetFilePath 00000008 10.71173477 [4672] NewPclipFromFilePath BLT header read 00000009 10.71177578 [4672] Read BLT header ok (401) 00000010 10.71305084 [4672] BLTAPluginSampleMapping::RegisterSampleRangeHint 00000011 10.71455765 [4672] BLTAPluginSampleMapping::Prefetch request for track 0, sample 0, numsamples 1 00000012 10.71537113 [4672] ProvideSampleRange : before 00000013 10.71539974 [4672] ProvideSampleRange : Request 1 samples for track 0 (start sample 0) 00000014 10.71575356 [4672] ProvideSampleRange : Allocating 1036800 samples for track 0 (518400.000000) 00000015 10.71798325 [4672] BLTAPluginSampleMapping::DecodeField 00000016 10.73050690 [4672] BLTAPluginSampleMapping::DecodeField ok 00000017 10.75780487 [4672] BLTAPluginSampleMapping::RegisterSampleRangeHint 00000018 10.75838089 [4672] BLTAPluginSampleMapping::Prefetch request for track 0, sample 0, numsamples 1 00000019 10.75854111 [4672] ProvideSampleRange : before 00000020 10.75856876 [4672] ProvideSampleRange : Request 1 samples for track 0 (start sample 0) 00000021 10.75859833 [4672] ProvideSampleRange : Allocating 1036800 samples for track 0 (518400.000000) 00000022 10.76072216 [4672] BLTAPluginSampleMapping::DecodeField 00000023 10.76805210 [4672] BLTAPluginSampleMapping::DecodeField ok 00000024 10.97340393 [4672] BLTAPluginSampleMapping::RegisterSampleRangeHint 00000025 10.97394848 [4672] BLTAPluginSampleMapping::Prefetch request for track 0, sample 0, numsamples 1 00000026 10.97411060 [4672] ProvideSampleRange : before 00000027 10.97414112 [4672] ProvideSampleRange : Request 1 samples for track 0 (start sample 0) 00000028 10.97417164 [4672] ProvideSampleRange : Allocating 1036800 samples for track 0 (518400.000000) 00000029 10.97775364 [4672] BLTAPluginSampleMapping::DecodeField 00000030 10.98417473 [4672] BLTAPluginSampleMapping::DecodeField ok
As you can see there is a call to RegisterSampleRangeHint and Prefetch with susequent ProvideSampleRange and Decode.
While in the MC8.3.1 the sequence is:
00000001 0.00000000 [1732] NewPclipFromFilePath BLT header read 00000002 0.00003988 [1732] Read BLT header ok (401) 00000003 0.00102079 [1732] NewPclipFromFilePath BLT header read 00000004 0.00106038 [1732] Read BLT header ok (401) 00000005 0.12420519 [1732] WARNING : Destroying bltPlugin 00000006 8.74966717 [1732] MVP_MSP_BLTAPlugin V 2.00.F 64 bit version beta 00000007 8.74968529 [1732] BLTAPluginSampleMapping::InitializeInstance 00000008 8.75045204 [1732] BLTAPluginSampleMapping::SetFilePath 00000009 8.75088978 [1732] NewPclipFromFilePath BLT header read 00000010 8.75094318 [1732] Read BLT header ok (401) 00000011 8.75191402 [1732] BLTAPluginSampleMapping::SetStorageCallback 00000012 8.75220013 [1732] BLTAPluginSampleMapping::GetSamplePosition 00000013 8.75221157 [1732] BLTAPluginSampleMapping::GetSamplePosition called (track 0 sample 0) 00000014 8.75231266 [1732] BLTAPluginSampleMapping::GetSampleSize 00000015 8.75232315 [1732] BLTAPluginSampleMapping::GetSamplePosition 00000016 8.75234795 [1732] BLTAPluginSampleMapping::GetSamplePosition called (track 0 sample 400) 00000017 8.75324821 [1732] BLTAPluginSampleMapping::GetSampleSize 00000018 8.85647964 [1732] BLTAPluginSampleMapping::GetSampleSize 00000019 8.85649776 [1732] BLTAPluginSampleMapping::GetSamplePosition 00000020 8.85652256 [1732] BLTAPluginSampleMapping::GetSamplePosition called (track 0 sample 400)
That is we have a call to SetStorageCallback (not present in 8.3.0) and subsequent GetSamplePosition for video track (track 0) and first and last sample. But no other calls.
from further investigation I have a doubt: May be that the defaultUncompressedID was changed ?
My value is:
const acfUID ContainerWriterPrivate::defaultUncompressedID = {0x04010201, 0x0000, 0x0000, {0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01}};
and is passed inside ContainerWriter::GetMediaWriterParameterwhen id equal AMA_MC_ExportVolumeVideoEssenceCoding_ID:
.....
else if (id == AMA_MC_ExportVolumeVideoEssenceCoding_ID) { // pValueUID->InitializeValue(ACFTypeID_UID, &ContainerWriterPrivate::defaultJP2KCodingID, sizeof(acfUID)); pValueUID->InitializeValue(ACFTypeID_UID, &ContainerWriterPrivate::defaultUncompressedID, sizeof(acfUID)); *pParameter = pValueUID.detach(); }
I found that passing the defaultJP2KCodingID the result is the same. May be that MC8.3.1 uses a slight different key
for defaultUncompressedID? I don't see the call to ProvideSampleRange like if MC knows how to decode or attempts to decode it.
regards
© Copyright 2011 Avid Technology, Inc. Terms of Use | Privacy Policy | Site Map | Find a Reseller