Ignore:
Timestamp:
12/15/07 17:04:51 (16 years ago)
Author:
radscorpion
Message:

Seeking fixes. Splitter now registers mediatypes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dsfilters/demux_mpc/src/mpc_file.cpp

    r371 r372  
    271271        do {
    272272                ret = packet->Load(reader);
    273                 if (ret < 0) return ret;
     273                if (ret < 0) {
     274                        return ret;
     275                }
    274276
    275277                switch (packet->key) {
     
    282284                                return 0;                       // we got one
    283285                        }
    284                 case MPC_KEY('S','E'):  return -1;                      // end of stream
     286                case MPC_KEY('S','E'):
     287                        {
     288                                return -2;
     289                        }
     290                        break;
    285291                }
    286292
     
    375381
    376382        // end of stream
    377         if (file_position >= avail) return -1;
    378 
    379         ret = reader->GetKey(key_val);                                  if (ret < 0) return ret;
    380         ret = reader->GetSizeElm(size_val, size_len);   if (ret < 0) return ret;
     383        if (file_position >= avail) {
     384                return -2;
     385        }
     386
     387        ret = reader->GetKey(key_val);                                 
     388        if (ret < 0) {
     389                return ret;
     390        }
     391        ret = reader->GetSizeElm(size_val, size_len);   
     392        if (ret < 0) {
     393                return ret;
     394        }
     395
    381396        // if the key is not valid, quit
    382         if (!reader->KeyValid(key_val)) return -1;
     397        if (!reader->KeyValid(key_val)) {
     398                return -1;
     399        }
    383400        key = key_val;
    384401
     
    391408        // roll back the bytes
    392409        reader->Seek(file_position);
    393         ret = reader->Read(packet, packet_size);                if (ret < 0) return ret;
    394 
    395         return 0;
    396 }
    397 
    398 
     410        ret = reader->Read(packet, packet_size);               
     411        if (ret < 0) {
     412                return ret;
     413        }
     414
     415        return 0;
     416}
     417
     418
Note: See TracChangeset for help on using the changeset viewer.