Skip to content

Open, Seek + ReadFrame => decoding error (current packet not a key frame) #11

@GoogleCodeExporter

Description

@GoogleCodeExporter
context: I'm tying to create a thumbnailer using ffmpeg-sharp

What steps will reproduce the problem?
1. open MediaFile
2. get VideoDecoderStream
3. create VideoScalingStream
4. Seek (100ms)
5. ReadFrame (out frame)

What is the expected output? What do you see instead?
expected: decoded frame bytes
instead: crash

What version of the product are you using? On what operating system?
latest

Please provide any additional information below.

as a workaround I added a loop, forcing a key frame to be returned (i'm only 
interested in single frame decoding -> creating thumbnails)

MediaFile.cs:120
internal void EnqueueNextPacket()
{
  AVPacket packet = new AVPacket();
  FFmpeg.av_init_packet(ref packet);

+  while (packet.flags != PacketFlags.Key)
+  {
    if (FFmpeg.av_read_frame(ref FormatContext, ref packet) < 0)
      throw new System.IO.EndOfStreamException();
+  }

Original issue reported on code.google.com by l.ordelm...@gmail.com on 29 Feb 2012 at 10:53

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions