libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit bfe8c1a019ecb22db4ae01e0fe609898b6f2f387
parent 328f89cec021631ee7a6d7f7f1f0da2cc324de0a
Author: Heikki Lindholm <holin@iki.fi>
Date:   Mon, 31 Dec 2007 12:59:21 +0000

add ScreenVideo


Diffstat:
Msrc/plugins/flvextractor.c | 14+++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/plugins/flvextractor.c b/src/plugins/flvextractor.c @@ -892,12 +892,10 @@ handleVideoBody(const unsigned char *data, size_t len, stinfo->videoHeight = ((data[5] & 0x7F) >> 1) | (data[6] >> 7); } else if (frame_size == 1) { - stinfo->videoWidth = ((data[4] & 0x7F) << 9) | - (data[5] << 1) | + stinfo->videoWidth = ((data[4] & 0x7F) << 9) | (data[5] << 1) | (data[6] >> 7); - stinfo->videoHeight = ((data[6] & 0x7F) << 9) | - (data[7] << 1) | - (data[8] >> 7); + stinfo->videoHeight = ((data[6] & 0x7F) << 9) | (data[7] << 1) | + (data[8] >> 7); } else { stinfo->videoWidth = sorenson_predefined_res[frame_size][0]; @@ -905,6 +903,12 @@ handleVideoBody(const unsigned char *data, size_t len, } } break; + case 0x03: /* ScreenVideo */ + if (len < 5) + break; + stinfo->videoWidth = readInt(&data) & 0x0FFF; + stinfo->videoHeight = readInt(&data) & 0x0FFF; + break; case 0x04: /* On2 VP6 */ case 0x05: {