Mercurial > projects > hoofbaby
comparison src/impl/hoofbaby/codec/decoder.d @ 9:05c88622db6b default tip
- Adhoc transcoder now doesn't rely on Platinum
- Moved the adhoc transcoder to the main source tree; it can be moved back into test once it's more stable
author | fraserofthenight |
---|---|
date | Tue, 14 Jul 2009 22:04:05 -0700 |
parents | 71ebad05f542 |
children |
comparison
equal
deleted
inserted
replaced
8:71ebad05f542 | 9:05c88622db6b |
---|---|
20 | 20 |
21 import hoofbaby.codec.libav.avutil; | 21 import hoofbaby.codec.libav.avutil; |
22 import hoofbaby.codec.libav.avcodec; | 22 import hoofbaby.codec.libav.avcodec; |
23 import hoofbaby.codec.libav.avformat; | 23 import hoofbaby.codec.libav.avformat; |
24 | 24 |
25 class Decoder | 25 public final class Decoder |
26 { | 26 { |
27 private char[] file; | 27 private char[] file; |
28 | 28 |
29 private AVFormatContext* formatContext; | 29 private AVFormatContext* formatContext; |
30 private bool fileOpen = false; | 30 private bool fileOpen = false; |
63 break; | 63 break; |
64 } | 64 } |
65 } | 65 } |
66 assert(videoStream !is null, "Could not find video stream"); | 66 assert(videoStream !is null, "Could not find video stream"); |
67 videoContext = videoStream.codec; | 67 videoContext = videoStream.codec; |
68 assert(videoContext !is null, "Null codec context from non-null stream"); | 68 assert(videoContext !is null, "Null codec context from non-null video stream"); |
69 videoCodec = avcodec_find_decoder(videoContext.codec_id); | 69 videoCodec = avcodec_find_decoder(videoContext.codec_id); |
70 assert(videoCodec !is null, "Unsupported video format"); | 70 assert(videoCodec !is null, "Unsupported video format"); |
71 ret = avcodec_open(videoContext, videoCodec); | 71 ret = avcodec_open(videoContext, videoCodec); |
72 assert(ret >= 0, "Could not open video decoder"); | 72 assert(ret >= 0, "Could not open video decoder"); |
73 videoOpen = true; | 73 videoOpen = true; |
82 break; | 82 break; |
83 } | 83 } |
84 } | 84 } |
85 assert(audioStream !is null, "Could not find audio stream"); | 85 assert(audioStream !is null, "Could not find audio stream"); |
86 audioContext = audioStream.codec; | 86 audioContext = audioStream.codec; |
87 assert(audioContext !is null, "Null codec context from non-null stream"); | 87 assert(audioContext !is null, "Null codec context from non-null audio stream"); |
88 audioCodec = avcodec_find_decoder(audioContext.codec_id); | 88 audioCodec = avcodec_find_decoder(audioContext.codec_id); |
89 assert(audioCodec !is null, "Unsupported audio format"); | 89 assert(audioCodec !is null, "Unsupported audio format"); |
90 ret = avcodec_open(audioContext, audioCodec); | 90 ret = avcodec_open(audioContext, audioCodec); |
91 assert(ret >= 0, "Could not open audio decoder"); | 91 assert(ret >= 0, "Could not open audio decoder"); |
92 audioOpen = true; | 92 audioOpen = true; |