46 } |
46 } |
47 |
47 |
48 CMMAPlayer* CMMAMMFPlayerFactory::CreatePlayerL(const TDesC& aContentType, |
48 CMMAPlayer* CMMAMMFPlayerFactory::CreatePlayerL(const TDesC& aContentType, |
49 const TDesC* aFileName) |
49 const TDesC* aFileName) |
50 { |
50 { |
51 LOG1( EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL content type = %S", |
51 LOG1(EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL content type = %S", |
52 aContentType.Ptr()); |
52 aContentType.Ptr()); |
53 CMMFFormatSelectionParameters* fSelect = |
53 CMMFFormatSelectionParameters* fSelect = |
54 CMMFFormatSelectionParameters::NewLC(); |
54 CMMFFormatSelectionParameters::NewLC(); |
55 |
55 |
56 // MMF needs 8bit data |
56 // MMF needs 8bit data |
57 HBufC8* contentType = HBufC8::NewLC(aContentType.Length()); |
57 HBufC8* contentType = HBufC8::NewLC(aContentType.Length()); |
62 |
62 |
63 CMMAPlayer* player = CreatePlayerL(fSelect, aFileName); |
63 CMMAPlayer* player = CreatePlayerL(fSelect, aFileName); |
64 |
64 |
65 CleanupStack::PopAndDestroy(contentType); |
65 CleanupStack::PopAndDestroy(contentType); |
66 CleanupStack::PopAndDestroy(fSelect); |
66 CleanupStack::PopAndDestroy(fSelect); |
67 LOG( EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL content type ok"); |
67 LOG(EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL content type ok"); |
68 return player; |
68 return player; |
69 } |
69 } |
70 |
70 |
71 CMMAPlayer* CMMAMMFPlayerFactory::CreatePlayerL(const TDesC& aProtocol, |
71 CMMAPlayer* CMMAMMFPlayerFactory::CreatePlayerL(const TDesC& aProtocol, |
72 const TDesC& aMiddlePart, |
72 const TDesC& aMiddlePart, |
73 const TDesC&) |
73 const TDesC&) |
74 { |
74 { |
75 LOG1( EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL aMiddlePart = %S", |
75 LOG1(EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL aMiddlePart = %S", |
76 aMiddlePart.Ptr()); |
76 aMiddlePart.Ptr()); |
77 CMMFFormatSelectionParameters* fSelect = |
77 CMMFFormatSelectionParameters* fSelect = |
78 CMMFFormatSelectionParameters::NewLC(); |
78 CMMFFormatSelectionParameters::NewLC(); |
79 |
79 |
80 // Match to file name, using only middle part of the locator |
80 // Match to file name, using only middle part of the locator |
81 fSelect->SetMatchToFileNameL(aMiddlePart); |
81 fSelect->SetMatchToFileNameL(aMiddlePart); |
82 |
82 |
83 CMMAPlayer* player = NULL; |
83 CMMAPlayer* player = NULL; |
84 if (aProtocol == KMMAFileProtocol) |
84 if (aProtocol == KMMAFileProtocol) |
85 { |
85 { |
86 LOG( EJavaMMAPI, EInfo, "MMA:CMMAMMFPlayerFactory::CreatePlayerL creating file player"); |
86 LOG(EJavaMMAPI, EInfo, "MMA:CMMAMMFPlayerFactory::CreatePlayerL creating file player"); |
87 player = CreatePlayerL(fSelect, &aMiddlePart); |
87 player = CreatePlayerL(fSelect, &aMiddlePart); |
88 |
88 |
89 #ifndef RD_JAVA_OMA_DRM_V2 |
89 #ifndef RD_JAVA_OMA_DRM_V2 |
90 // if opening is failed, it might be DRM file, trying it |
90 // if opening is failed, it might be DRM file, trying it |
91 if (!player) |
91 if (!player) |
99 { |
99 { |
100 player = CreatePlayerL(fSelect, NULL); |
100 player = CreatePlayerL(fSelect, NULL); |
101 } |
101 } |
102 |
102 |
103 CleanupStack::PopAndDestroy(fSelect); |
103 CleanupStack::PopAndDestroy(fSelect); |
104 LOG( EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL aMiddlePart ok"); |
104 LOG(EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL aMiddlePart ok"); |
105 return player; |
105 return player; |
106 } |
106 } |
107 |
107 |
108 #ifndef RD_JAVA_OMA_DRM_V2 |
108 #ifndef RD_JAVA_OMA_DRM_V2 |
109 CMMAPlayer* CMMAMMFPlayerFactory::TryOpenDRMFileL(const TDesC& aFileName) |
109 CMMAPlayer* CMMAMMFPlayerFactory::TryOpenDRMFileL(const TDesC& aFileName) |
131 } |
131 } |
132 #endif // RD_JAVA_OMA_DRM_V2 |
132 #endif // RD_JAVA_OMA_DRM_V2 |
133 |
133 |
134 CMMAPlayer* CMMAMMFPlayerFactory::CreatePlayerL(const TDesC8& aHeaderData) |
134 CMMAPlayer* CMMAMMFPlayerFactory::CreatePlayerL(const TDesC8& aHeaderData) |
135 { |
135 { |
136 LOG( EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL header data +"); |
136 LOG(EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL header data +"); |
137 CMMFFormatSelectionParameters* fSelect = |
137 CMMFFormatSelectionParameters* fSelect = |
138 CMMFFormatSelectionParameters::NewLC(); |
138 CMMFFormatSelectionParameters::NewLC(); |
139 |
139 |
140 // Match to header data |
140 // Match to header data |
141 fSelect->SetMatchToHeaderDataL(aHeaderData); |
141 fSelect->SetMatchToHeaderDataL(aHeaderData); |
142 |
142 |
143 CMMAPlayer* player = CreatePlayerL(fSelect); |
143 CMMAPlayer* player = CreatePlayerL(fSelect); |
144 |
144 |
145 CleanupStack::PopAndDestroy(fSelect); |
145 CleanupStack::PopAndDestroy(fSelect); |
146 LOG( EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL header data -"); |
146 LOG(EJavaMMAPI, EInfo, "MMA::CMMAMMFPlayerFactory::CreatePlayerL header data -"); |
147 return player; |
147 return player; |
148 } |
148 } |
149 |
149 |
150 void CMMAMMFPlayerFactory::GetSupportedContentTypesL(const TDesC& aProtocol, |
150 void CMMAMMFPlayerFactory::GetSupportedContentTypesL(const TDesC& aProtocol, |
151 CDesC16Array& aMimeTypeArray) |
151 CDesC16Array& aMimeTypeArray) |