Simon Hailes
a13a81a0dc
avformat/crypto: add seeking support on read
...
cyrpto allows reading of data which has been aes-128-cbc encrypted given a key and an iv. But it did not handle filetypes which require seeking... e.g. it failed on an encrypted .mp4 file.
example:
take 25.mp4 created with:
ffmpeg -f lavfi -i sine=frequency=1000:beep_factor=2:r=48000:duration=720.0 -f lavfi -i testsrc=duration=720.0:rate=25 -vcodec libx264 -cmp 22 -timecode 10:00:00:00 -r 25 -y out\25.mp4
encrypt with:
openssl enc -aes-128-cbc -K 12345678901234567890123456789012 -iv 12345678901234567890123456789012 -in 25.mp4 -out 25.enc
then to transcode in ffmpeg:
ffmpeg -key 12345678901234567890123456789012 -iv 12345678901234567890123456789012 -i crypto:25.enc -vcodec mpeg4 -r 25 -y 25dec.mp4
prior to this modification, the transcode would fail.
Note also: crypto previously maked both reads and writes as streamed, which caused the whole file
to be read before the transcode started. Now, for read only, if the underlying layer is not marked as streamed,
then crypto is not. This should enable efficient reading of encrypted containers which require seeking.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-30 17:14:28 +02:00
..
2016-08-22 22:07:48 +02:00
2016-05-13 14:55:56 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-05-15 19:05:19 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-07-03 04:37:48 +02:00
2016-07-03 04:37:48 +02:00
2016-04-10 20:59:55 +01:00
2016-04-14 18:21:08 +02:00
2016-08-22 22:03:37 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-14 18:21:08 +02:00
2016-04-10 20:59:55 +01:00
2016-04-14 18:21:08 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-07-19 21:43:14 -03:00
2016-07-19 21:43:14 -03:00
2016-07-19 21:43:14 -03:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-06-13 20:58:43 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-08-17 16:32:09 +02:00
2016-03-13 16:06:09 +01:00
2016-06-21 21:55:34 +02:00
2016-07-19 21:43:14 -03:00
2016-08-04 16:25:32 -03:00
2016-05-18 00:53:21 +02:00
2016-06-23 15:59:44 +02:00
2016-08-04 16:25:32 -03:00
2016-08-30 00:23:52 +02:00
2016-07-19 21:43:14 -03:00
2016-07-19 21:43:14 -03:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-06-09 10:35:13 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-06-19 18:51:39 +02:00
2016-04-14 18:21:08 +02:00
2016-06-19 18:51:39 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-07-17 13:10:27 -03:00
2016-04-21 15:55:09 +01:00
2016-04-26 16:58:59 +02:00
2016-08-30 17:14:28 +02:00
2016-04-11 04:34:00 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-07-25 12:19:39 -03:00
2016-05-01 16:16:39 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-05-04 19:23:23 -03:00
2016-05-19 00:02:50 -03:00
2016-06-26 14:13:36 +02:00
2016-06-21 21:55:34 +02:00
2016-06-29 11:16:01 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-28 23:25:18 +02:00
2016-04-10 20:59:55 +01:00
2016-08-22 22:03:37 +02:00
2016-06-13 13:47:32 +10:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-22 21:10:37 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-07-27 19:29:55 +02:00
2016-06-23 17:43:19 +02:00
2016-06-25 20:09:10 +02:00
2016-04-13 21:13:21 -03:00
2016-04-13 21:13:21 -03:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-23 21:37:05 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-05-04 22:43:01 +02:00
2016-04-16 21:31:58 -03:00
2016-04-11 04:34:00 +02:00
2016-05-04 18:16:21 +02:00
2016-07-28 01:24:57 +03:00
2016-08-29 14:54:27 +02:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-08-14 10:44:38 +02:00
2016-05-04 18:16:21 +02:00
2016-06-21 21:55:34 +02:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-08-11 14:10:19 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-05-19 17:02:06 +02:00
2016-04-10 20:59:55 +01:00
2016-07-15 10:25:02 +02:00
2016-07-15 10:26:27 +02:00
2016-08-04 23:22:54 +02:00
2016-08-17 16:17:42 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-08-13 01:44:52 +02:00
2016-08-25 21:12:19 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-27 17:56:47 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:21:09 +01:00
2016-07-21 02:47:35 +01:00
2016-07-26 12:05:29 -07:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-08-22 22:07:48 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-08-28 15:55:32 +02:00
2016-07-31 16:59:49 +02:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-08-05 16:18:49 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-08-28 20:54:22 +02:00
2016-08-24 07:38:19 +02:00
2016-08-19 15:30:52 +02:00
2016-04-10 20:59:55 +01:00
2016-06-11 02:58:00 +02:00
2016-04-10 20:59:55 +01:00
2016-04-14 18:21:08 +02:00
2016-06-21 15:42:49 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-07-29 08:47:41 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-05-21 18:49:45 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-08-22 12:59:54 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-08-28 15:55:32 +02:00
2016-08-11 02:09:16 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-08-23 16:52:21 +02:00
2016-04-14 18:21:08 +02:00
2016-04-10 20:59:55 +01:00
2016-04-17 19:06:18 +01:00
2016-05-11 03:50:37 +02:00
2016-08-03 16:09:03 +02:00
2016-07-20 22:32:48 -03:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-05-28 01:22:01 +02:00
2016-06-21 15:42:49 +02:00
2016-05-29 00:58:15 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 15:42:49 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 15:42:49 +02:00
2016-07-19 21:12:10 -03:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-05-02 22:16:40 +02:00
2016-06-14 23:49:42 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-08-18 09:45:25 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-07-19 18:41:19 +02:00
2016-07-17 13:10:27 -03:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-09 10:35:13 +02:00
2016-07-21 04:15:15 +02:00
2016-04-10 20:59:55 +01:00
2016-06-09 10:35:13 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-06-12 17:26:43 -03:00
2016-08-18 15:30:05 +02:00
2016-04-10 20:59:55 +01:00
2016-04-14 18:21:08 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-08-02 16:16:31 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-14 18:21:08 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-05-11 19:13:03 +01:00
2016-04-21 16:04:17 +01:00
2016-08-05 16:18:49 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-07-25 19:39:13 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-03-26 00:15:24 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-06-13 18:40:14 +02:00
2016-06-21 21:55:34 +02:00
2016-06-14 08:00:17 +02:00
2016-04-10 20:59:55 +01:00
2016-06-29 11:16:01 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-26 15:12:48 +02:00
2016-06-13 18:09:34 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-04-21 15:55:09 +01:00
2016-08-05 16:18:49 +02:00
2016-06-21 22:26:44 +02:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-07-17 13:10:27 -03:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-07-14 21:33:19 +02:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-05-05 10:48:34 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-06-25 15:53:11 -05:00
2016-04-10 20:59:55 +01:00
2016-05-11 19:13:03 +01:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-05-03 15:45:10 +02:00
2016-08-22 01:29:51 +02:00
2016-04-10 20:59:55 +01:00
2016-06-29 11:35:10 +02:00
2016-03-24 10:34:24 +02:00
2016-04-10 20:59:55 +01:00
2016-08-02 20:22:55 +02:00
2016-08-02 20:22:55 +02:00
2016-08-02 20:22:55 +02:00
2016-08-05 18:59:21 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-21 15:55:09 +01:00
2016-04-10 20:59:55 +01:00
2016-08-04 16:25:36 -03:00
2016-08-04 16:25:40 -03:00
2016-06-09 10:35:13 +02:00
2016-04-10 20:59:55 +01:00
2016-06-19 22:55:57 +02:00
2016-04-13 21:13:21 -03:00
2016-04-21 16:01:50 +01:00
2016-06-21 21:55:34 +02:00
2016-08-27 11:21:12 -03:00
2016-06-09 10:35:13 +02:00
2016-04-10 20:59:55 +01:00
2016-04-14 18:21:08 +02:00
2016-04-10 20:59:55 +01:00
2016-08-28 15:55:32 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-17 10:36:09 -04:00
2016-06-17 10:36:09 -04:00
2016-04-10 20:59:55 +01:00
2016-07-15 10:36:05 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-08-25 22:22:28 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-06-21 21:55:34 +02:00
2016-06-21 21:55:34 +02:00
2016-05-01 16:25:57 +02:00
2016-08-21 21:31:46 +02:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00
2016-04-14 15:55:10 -03:00
2016-04-10 20:59:55 +01:00
2016-04-10 20:59:55 +01:00