Loading media/libstagefright/MediaExtractor.cpp +15 −4 Original line number Diff line number Diff line Loading @@ -151,10 +151,6 @@ sp<IMediaExtractor> MediaExtractor::Create( ALOGW("creating media extractor in calling process"); return CreateFromService(source, mime); } else { // remote extractor ALOGV("get service manager"); sp<IBinder> binder = defaultServiceManager()->getService(String16("media.extractor")); // Check if it's WVM, since WVMExtractor needs to be created in the media server process, // not the extractor process. String8 mime8; Loading @@ -165,6 +161,21 @@ sp<IMediaExtractor> MediaExtractor::Create( return new WVMExtractor(source); } // Check if it's es-based DRM, since DRMExtractor needs to be created in the media server // process, not the extractor process. if (SniffDRM(source, &mime8, &confidence, &meta)) { const char *drmMime = mime8.string(); ALOGV("Detected media content as '%s' with confidence %.2f", drmMime, confidence); if (!strncmp(drmMime, "drm+es_based+", 13)) { // DRMExtractor sets container metadata kKeyIsDRM to 1 return new DRMExtractor(source, drmMime + 14); } } // remote extractor ALOGV("get service manager"); sp<IBinder> binder = defaultServiceManager()->getService(String16("media.extractor")); if (binder != 0) { sp<IMediaExtractorService> mediaExService(interface_cast<IMediaExtractorService>(binder)); sp<IMediaExtractor> ex = mediaExService->makeExtractor(RemoteDataSource::wrap(source), mime); Loading Loading
media/libstagefright/MediaExtractor.cpp +15 −4 Original line number Diff line number Diff line Loading @@ -151,10 +151,6 @@ sp<IMediaExtractor> MediaExtractor::Create( ALOGW("creating media extractor in calling process"); return CreateFromService(source, mime); } else { // remote extractor ALOGV("get service manager"); sp<IBinder> binder = defaultServiceManager()->getService(String16("media.extractor")); // Check if it's WVM, since WVMExtractor needs to be created in the media server process, // not the extractor process. String8 mime8; Loading @@ -165,6 +161,21 @@ sp<IMediaExtractor> MediaExtractor::Create( return new WVMExtractor(source); } // Check if it's es-based DRM, since DRMExtractor needs to be created in the media server // process, not the extractor process. if (SniffDRM(source, &mime8, &confidence, &meta)) { const char *drmMime = mime8.string(); ALOGV("Detected media content as '%s' with confidence %.2f", drmMime, confidence); if (!strncmp(drmMime, "drm+es_based+", 13)) { // DRMExtractor sets container metadata kKeyIsDRM to 1 return new DRMExtractor(source, drmMime + 14); } } // remote extractor ALOGV("get service manager"); sp<IBinder> binder = defaultServiceManager()->getService(String16("media.extractor")); if (binder != 0) { sp<IMediaExtractorService> mediaExService(interface_cast<IMediaExtractorService>(binder)); sp<IMediaExtractor> ex = mediaExService->makeExtractor(RemoteDataSource::wrap(source), mime); Loading