Stagefright Mediaextractor: how to detect interlaced streams in video files?

by Deva R » Tue, 07 Sep 2010 18:45:17 GMT

Sponsored Links

Is it possible to detect scan type (progressive or interlaced) of a video
file in stagefright?

I see below listed fields are query-able with metadata of file through
stagefright, but not scan-type which i guess is avaiable in MP4 file header.
Any hint on how to detect scan-type of video file at Stagefright player
driver? Or is it available in opencore??


enum {
    kKeyMIMEType          = 'mime',
    kKeyWidth             = 'widt',
    kKeyHeight            = 'heig',
    kKeyChannelCount      = '#chn',
    kKeySampleRate        = 'srte',
    kKeyBitRate           = 'brte',
    kKeyESDS              = 'esds',
    kKeyAVCC              = 'avcc',
    kKeyVorbisInfo        = 'vinf',
    kKeyVorbisBooks       = 'vboo',
    kKeyWantsNALFragments = 'NALf',
    kKeyIsSyncFrame       = 'sync',
    kKeyIsCodecConfig     = 'conf',
    kKeyTime              = 'time',
    kKeyDuration          = 'dura',
    kKeyColorFormat       = 'colf',
    kKeyPlatformPrivate   = 'priv',
    kKeyDecoderComponent  = 'decC',
    kKeyBufferID          = 'bfID',
    kKeyMaxInputSize      = 'inpS',
    kKeyThumbnailTime     = 'thbT',

    kKeyAlbum             = 'albu',
    kKeyArtist            = 'arti',
    kKeyAlbumArtist       = 'aart',
    kKeyComposer          = 'comp',
    kKeyGenre             = 'genr',
    kKeyTitle             = 'titl',
    kKeyYear              = 'year',
    kKeyAlbumArt          = 'albA',
    kKeyAlbumArtMIME      = 'alAM',
    kKeyAuthor            = 'auth',
    kKeyCDTrackNumber     = 'cdtr',
    kKeyDiscNumber        = 'dnum',
    kKeyDate              = 'date',
    kKeyWriter            = 'writ',


Stagefright Mediaextractor: how to detect interlaced streams in video files?

by Deva R » Mon, 04 Oct 2010 21:56:18 GMT

 [resolved now]

i realized lately that its beyond the scope of file parser., and
supposed to be done by codec component.
written a custom parser to detect interlaced content,
and posted to local gerrit - #change,6889



Sponsored Links

Stagefright Mediaextractor: how to detect interlaced streams in video files?

by Shashank » Fri, 22 Oct 2010 05:02:09 GMT

 Yes Deva, You are right.

The information regarding interlace is stored in compressed bit

Codec component should be able to provide this information to the
application, i.e. OMX Client. In case of Android :: Stagefright, its

Once this information is retrieved, developer can choose to do field
interlacing / selection for display at awesome player.



Other Threads

1. Widget updated without my invoking

Widget updated without my invoking and text size and colour settings

My widget consists of a TextView. I set the text colour and text size

views.setInt(, "setTextColor",
views.setFloat(, "setTextSize", textSize);

in provider.

configure xml file is:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="
        android:updatePeriodMillis="0" android:minWidth="294dp"
        android:minHeight="294dp" android:configure=""

Note: updatePeriod is 0, no automatic update.

But the widget itself updates erratically. I set a tag in the
broadcast receiver and know that the widget is not updated via the
widget provider. It seems that the widget application (of android
system) updates the widget without loading the text colour and size.
After some time or some action (for example sending a shortcut to
desktop. Sometimes this sending action causes the widget lose the text
size and colour, sometimes does nothing to the widget.) That's the
worst thing. It's updated, but the text size and colour is set to the
initialLayout. This make my widget text size and colour nosense.

Any one can help me? Thanks!


2. Android : List View or Spinner - Need your help guys

The specifics will largely depend on which you choose, but in either case
you can create a list of custom objects which contain the ID, first name,
and last name and set that as the data for the adapter of either control.

Both the list view and the spinner has a click event that indicates the
position of the item that was clicked which you can use to index your list
of objects to obtain the object the user clicked on and it's ID from there.

TreKing - Chicago transit tracking app for Android-powered devices


3. RingtoneManager getRingtone sometimes returns null

4. save image into sdcard not working

5. Permisi mohon gabung.

6. Salam kenal dari Yogyakarta

7. Android custom hardware