diff options
author | Måns Rullgård <mans@mansr.com> | 2007-01-15 22:05:22 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2007-01-15 22:05:22 +0000 |
commit | 20be72c8909cf22811926a6c182a58bc210e47dc (patch) | |
tree | af487db02b68e205205604dcd79907a39916e0a5 | |
parent | 1aa72a703c92a494d1abef27deaa15ae623e7818 (diff) | |
download | ffmpeg-20be72c8909cf22811926a6c182a58bc210e47dc.tar.gz |
save/restore number of streams
Originally committed as revision 7535 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/ogg2.c | 6 | ||||
-rw-r--r-- | libavformat/ogg2.h | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/ogg2.c b/libavformat/ogg2.c index 1e5d386205..d630d4a3da 100644 --- a/libavformat/ogg2.c +++ b/libavformat/ogg2.c @@ -90,6 +90,7 @@ ogg_save (AVFormatContext * s) ost->pos = url_ftell (&s->pb);; ost->curidx = ogg->curidx; ost->next = ogg->state; + ost->nstreams = ogg->nstreams; memcpy(ost->streams, ogg->streams, ogg->nstreams * sizeof(*ogg->streams)); for (i = 0; i < ogg->nstreams; i++){ @@ -123,8 +124,9 @@ ogg_restore (AVFormatContext * s, int discard) url_fseek (bc, ost->pos, SEEK_SET); ogg->curidx = ost->curidx; - memcpy (ogg->streams, ost->streams, - ogg->nstreams * sizeof (*ogg->streams)); + ogg->nstreams = ost->nstreams; + memcpy(ogg->streams, ost->streams, + ost->nstreams * sizeof(*ogg->streams)); } av_free (ost); diff --git a/libavformat/ogg2.h b/libavformat/ogg2.h index dd6f24aab6..6b7c6b22ec 100644 --- a/libavformat/ogg2.h +++ b/libavformat/ogg2.h @@ -57,6 +57,7 @@ typedef struct ogg_state { uint64_t pos; int curidx; struct ogg_state *next; + int nstreams; ogg_stream_t streams[1]; } ogg_state_t; |