Commit 20be72c8 authored by Måns Rullgård's avatar Måns Rullgård

save/restore number of streams

Originally committed as revision 7535 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 1aa72a70
...@@ -90,6 +90,7 @@ ogg_save (AVFormatContext * s) ...@@ -90,6 +90,7 @@ ogg_save (AVFormatContext * s)
ost->pos = url_ftell (&s->pb);; ost->pos = url_ftell (&s->pb);;
ost->curidx = ogg->curidx; ost->curidx = ogg->curidx;
ost->next = ogg->state; ost->next = ogg->state;
ost->nstreams = ogg->nstreams;
memcpy(ost->streams, ogg->streams, ogg->nstreams * sizeof(*ogg->streams)); memcpy(ost->streams, ogg->streams, ogg->nstreams * sizeof(*ogg->streams));
for (i = 0; i < ogg->nstreams; i++){ for (i = 0; i < ogg->nstreams; i++){
...@@ -123,8 +124,9 @@ ogg_restore (AVFormatContext * s, int discard) ...@@ -123,8 +124,9 @@ ogg_restore (AVFormatContext * s, int discard)
url_fseek (bc, ost->pos, SEEK_SET); url_fseek (bc, ost->pos, SEEK_SET);
ogg->curidx = ost->curidx; ogg->curidx = ost->curidx;
memcpy (ogg->streams, ost->streams, ogg->nstreams = ost->nstreams;
ogg->nstreams * sizeof (*ogg->streams)); memcpy(ogg->streams, ost->streams,
ost->nstreams * sizeof(*ogg->streams));
} }
av_free (ost); av_free (ost);
......
...@@ -57,6 +57,7 @@ typedef struct ogg_state { ...@@ -57,6 +57,7 @@ typedef struct ogg_state {
uint64_t pos; uint64_t pos;
int curidx; int curidx;
struct ogg_state *next; struct ogg_state *next;
int nstreams;
ogg_stream_t streams[1]; ogg_stream_t streams[1];
} ogg_state_t; } ogg_state_t;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment