diff options
author | Insun Kang <insun@google.com> | 2012-01-11 22:03:12 +0900 |
---|---|---|
committer | Insun Kang <insun@google.com> | 2012-01-31 14:44:32 +0900 |
commit | 6655174826330afe66ef766258181ae8c11f3f6c (patch) | |
tree | 5a2e4d563aede4d242cbe2b48e07e00ea6221cde /media/libstagefright/timedtext/TimedTextSource.cpp | |
parent | e59542680aa0e83cacbc471fbd3945b0509a849c (diff) | |
download | frameworks_av-6655174826330afe66ef766258181ae8c11f3f6c.zip frameworks_av-6655174826330afe66ef766258181ae8c11f3f6c.tar.gz frameworks_av-6655174826330afe66ef766258181ae8c11f3f6c.tar.bz2 |
First step of refactoring 'timedtext' code.
Goal
1. Removed dependency of TimedTextPlayer on AwsomePlayer.
2. Generalized TimedTextParser to TimedTextSource and its subclasses.
Summary
1. Introduced TimedTextDriver, TimedTextPlayer (new implementation),
TimedTextSource (and its subclasses).
2. Removed TimedTextParser.
Remaining TODOs
1. Revise VideoVidew, Gallery3D app, AwesomePlayer to check if
'pause' and 'resume' works well.
2. Consider revising MediaPlayer APIs such as setParameter() ->
addTextSource(). Need more thoughts.
Change-Id: Ie0c4f15b9690102de755cef6940f8c31ccf78e27
Diffstat (limited to 'media/libstagefright/timedtext/TimedTextSource.cpp')
-rw-r--r-- | media/libstagefright/timedtext/TimedTextSource.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/media/libstagefright/timedtext/TimedTextSource.cpp b/media/libstagefright/timedtext/TimedTextSource.cpp new file mode 100644 index 0000000..9efe67c --- /dev/null +++ b/media/libstagefright/timedtext/TimedTextSource.cpp @@ -0,0 +1,53 @@ + /* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//#define LOG_NDEBUG 0 +#define LOG_TAG "TimedTextSource" +#include <utils/Log.h> + +#include <media/stagefright/DataSource.h> +#include <media/stagefright/MediaSource.h> + +#include "TimedTextSource.h" + +#include "TimedTextInBandSource.h" +#include "TimedTextSRTSource.h" + +namespace android { + +// static +sp<TimedTextSource> TimedTextSource::CreateTimedTextSource( + const sp<MediaSource>& mediaSource) { + return new TimedTextInBandSource(mediaSource); +} + +// static +sp<TimedTextSource> TimedTextSource::CreateTimedTextSource( + const sp<DataSource>& dataSource, FileType filetype) { + switch(filetype) { + case OUT_OF_BAND_FILE_SRT: + return new TimedTextSRTSource(dataSource); + case OUT_OF_BAND_FILE_SMI: + // TODO: Implement for SMI. + ALOGE("Supporting SMI is not implemented yet"); + break; + default: + ALOGE("Undefined subtitle format. : %d", filetype); + } + return NULL; +} + +} // namespace android |